From ab0036e93cf2d1b9488e842da2c42264a90661e6 Mon Sep 17 00:00:00 2001 From: James Marino Date: Sat, 25 Nov 2023 14:52:30 +1100 Subject: [PATCH] fix: allow driver options --- engine.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index 0cbfdede..129099d9 100644 --- a/engine.go +++ b/engine.go @@ -51,7 +51,7 @@ type Engine struct { // NewEngine new a db manager according to the parameter. Currently support four // 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) if err != nil { return nil, err @@ -62,6 +62,12 @@ func NewEngine(driverName string, dataSourceName string) (*Engine, error) { return nil, err } + if len(driverOptions) > 0 { + if err := driverOptions[0](db.DB); err != nil { + return nil, err + } + } + return newEngine(driverName, dataSourceName, dialect, db) }