feat: register MSSQL and Postgres drivers in db-wrapper for improved factory pattern support

This commit is contained in:
2026-04-15 23:09:56 -05:00
parent f09284ecdc
commit ea41a7c218
3 changed files with 69 additions and 13 deletions

View File

@@ -2,18 +2,18 @@ package dbwrapper
import "fmt"
const (
postgresDialect = "postgres"
mssqlDialect = "sqlserver"
)
type Factory func() DbWrapper
func NewWrapper(driverType string) (DbWrapper, error) {
switch driverType {
case postgresDialect:
return &postgresDbWrapper{dialect: postgresDialect}, nil
case mssqlDialect:
return &mssqlDbWrapper{dialect: mssqlDialect}, nil
default:
var drivers = make(map[string]Factory)
func Register(name string, factory Factory) {
drivers[name] = factory
}
func New(driverType string) (DbWrapper, error) {
factory, ok := drivers[driverType]
if !ok {
return nil, fmt.Errorf("driver not yet supported: %s", driverType)
}
return factory(), nil
}