fix: allow driver options

This commit is contained in:
James Marino 2023-11-25 14:52:30 +11:00
parent c855ca4e59
commit ab0036e93c
1 changed files with 7 additions and 1 deletions

View File

@ -51,7 +51,7 @@ type Engine struct {
// NewEngine new a db manager according to the parameter. Currently support four // NewEngine new a db manager according to the parameter. Currently support four
// drivers // drivers
func NewEngine(driverName string, dataSourceName string) (*Engine, error) { func NewEngine(driverName string, dataSourceName string, driverOptions ...func(db *sql.DB) error) (*Engine, error) {
dialect, err := dialects.OpenDialect(driverName, dataSourceName) dialect, err := dialects.OpenDialect(driverName, dataSourceName)
if err != nil { if err != nil {
return nil, err return nil, err
@ -62,6 +62,12 @@ func NewEngine(driverName string, dataSourceName string) (*Engine, error) {
return nil, err return nil, err
} }
if len(driverOptions) > 0 {
if err := driverOptions[0](db.DB); err != nil {
return nil, err
}
}
return newEngine(driverName, dataSourceName, dialect, db) return newEngine(driverName, dataSourceName, dialect, db)
} }