File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -26,21 +26,29 @@ type Dialector struct {
26
26
Conn gorm.ConnPool
27
27
}
28
28
29
+ type Config struct {
30
+ DriverName string
31
+ DSN string
32
+ Conn gorm.ConnPool
33
+ }
34
+
29
35
func Open (dsn string ) gorm.Dialector {
30
36
return & Dialector {DSN : dsn }
31
37
}
32
38
39
+ func New (config Config ) gorm.Dialector {
40
+ return & Dialector {DSN : config .DSN , DriverName : config .DriverName , Conn : config .Conn }
41
+ }
42
+
33
43
func (dialector Dialector ) Name () string {
34
44
return "sqlite"
35
45
}
36
46
37
47
func (dialector Dialector ) Initialize (db * gorm.DB ) (err error ) {
38
- if dialector .DriverName == "" {
39
- dialector .DriverName = DriverName
40
- }
41
-
42
48
if dialector .Conn != nil {
43
49
db .ConnPool = dialector .Conn
50
+ } else if dialector .DriverName != "" {
51
+ db .ConnPool , err = sql .Open (dialector .DriverName , dialector .DSN )
44
52
} else {
45
53
conn , err := sql .Open (dialector .DriverName , dialector .DSN )
46
54
if err != nil {
You can’t perform that action at this time.
0 commit comments