fix: re-order db initialization logic for resource server (#108059)
This commit is contained in:
committed by
GitHub
parent
4260dea554
commit
84a4ed612b
@@ -70,28 +70,27 @@ func newResourceDBProvider(grafanaDB infraDB.DB, cfg *setting.Cfg, tracer trace.
|
||||
migrateFunc: migrations.MigrateResourceStore,
|
||||
tracer: tracer,
|
||||
}
|
||||
// Try to use the grafana db connection, should only happen in tests.
|
||||
if grafanaDB != nil {
|
||||
|
||||
dbType := cfg.SectionWithEnvOverrides("database").Key("type").String()
|
||||
|
||||
switch {
|
||||
case dbType != "":
|
||||
logger.Info("Using database section", "db_type", dbType)
|
||||
dbCfg, err := sqlstore.NewDatabaseConfig(cfg, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
p.registerMetrics = true
|
||||
p.engine, err = getEngine(dbCfg)
|
||||
return p, err
|
||||
case grafanaDB != nil:
|
||||
// Try to use the grafana db connection, should only happen in tests.
|
||||
if newConfGetter(cfg.SectionWithEnvOverrides("database"), "").Bool(grafanaDBInstrumentQueriesKey) {
|
||||
return nil, errGrafanaDBInstrumentedNotSupported
|
||||
}
|
||||
p.engine = grafanaDB.GetEngine()
|
||||
p.logQueries = cfg.SectionWithEnvOverrides("database").Key("log_queries").MustBool(false)
|
||||
return p, nil
|
||||
}
|
||||
|
||||
// If we don't provide a DB, lets build it from the config.
|
||||
dbCfg, err := sqlstore.NewDatabaseConfig(cfg, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
switch {
|
||||
case dbCfg.Type != "":
|
||||
logger.Info("Using database section", "db_type", dbCfg.Type)
|
||||
p.registerMetrics = true
|
||||
p.engine, err = getEngine(dbCfg)
|
||||
return p, err
|
||||
default:
|
||||
return nil, fmt.Errorf("no database type specified")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user