MCPcopy Create free account
hub / github.com/cloudbase/garm / newDBConn

Function newDBConn

database/sql/sql.go:51–79  ·  view source on GitHub ↗

newDBConn returns a new gorm db connection, given the config

(dbCfg config.Database)

Source from the content-addressed store, hash-verified

49
50// newDBConn returns a new gorm db connection, given the config
51func newDBConn(dbCfg config.Database) (conn *gorm.DB, err error) {
52 dbType, connURI, err := dbCfg.GormParams()
53 if err != nil {
54 return nil, fmt.Errorf("error getting DB URI string: %w", err)
55 }
56
57 gormConfig := &gorm.Config{
58 TranslateError: true,
59 }
60 if !dbCfg.Debug {
61 gormConfig.Logger = logger.Default.LogMode(logger.Silent)
62 }
63
64 switch dbType {
65 case config.MySQLBackend:
66 conn, err = gorm.Open(mysql.Open(connURI), gormConfig)
67 case config.SQLiteBackend:
68 conn, err = gorm.Open(sqlite.Open(connURI), gormConfig)
69 }
70 if err != nil {
71 return nil, fmt.Errorf("error connecting to database: %w", err)
72 }
73
74 if dbCfg.Debug {
75 conn = conn.Debug()
76 }
77
78 return conn, nil
79}
80
81func NewSQLDatabase(ctx context.Context, cfg config.Database) (common.Store, error) {
82 conn, err := newDBConn(cfg)

Calls 1

GormParamsMethod · 0.80