[release-12.0.3] Unified storage: Respect GF_DATABASE_URL override (#107566)

Unified storage: Respect GF_DATABASE_URL override (#105331)

* Database for unified storage resources now reuses DB code that respects URL override.

Access instrument_queries via section getter.

(cherry picked from commit 041c343a86)
This commit is contained in:
Peter Štibraný
2025-07-03 14:35:37 +02:00
committed by GitHub
parent 716cf170fb
commit fb59ff62a8
3 changed files with 86 additions and 31 deletions
+4 -16
View File
@@ -12,7 +12,6 @@ import (
"xorm.io/xorm"
"github.com/grafana/grafana/pkg/services/sqlstore"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/storage/unified/sql/db"
)
@@ -20,27 +19,16 @@ import (
// driver.
const tlsConfigName = "db_engine_tls"
func getEngine(cfg *setting.Cfg) (*xorm.Engine, error) {
dbSection := cfg.SectionWithEnvOverrides("database")
dbType := dbSection.Key("type").String()
if dbType == "" {
return nil, fmt.Errorf("no database type specified")
}
switch dbType {
func getEngine(config *sqlstore.DatabaseConfig) (*xorm.Engine, error) {
switch config.Type {
case dbTypeMySQL, dbTypePostgres, dbTypeSQLite:
config, err := sqlstore.NewDatabaseConfig(cfg, nil)
if err != nil {
return nil, nil
}
engine, err := xorm.NewEngine(dbType, config.ConnectionString)
engine, err := xorm.NewEngine(config.Type, config.ConnectionString)
if err != nil {
return nil, fmt.Errorf("open database: %w", err)
}
return engine, nil
default:
return nil, fmt.Errorf("unsupported database type: %s", dbType)
return nil, fmt.Errorf("unsupported database type: %s", config.Type)
}
}