fix: re-order db initialization logic for resource server (#108059)

This commit is contained in:
Mustafa Sencer Özcan
2025-07-14 12:25:42 +02:00
committed by GitHub
parent 4260dea554
commit 84a4ed612b
2 changed files with 16 additions and 17 deletions
+15 -16
View File
@@ -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")
}