Skip to content

Commit c28ad5f

Browse files
committed
db: support DATABASE_DSN environment variable again
1 parent be7b61c commit c28ad5f

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

ntpdb/dbconn.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ type Config struct {
1919
}
2020

2121
type DBConfig struct {
22-
DSN string `default:"" flag:"dsn" usage:"Database DSN"`
23-
User string `default:"" flag:"user"`
24-
Pass string `default:"" flag:"pass"`
22+
DSN string `default:"" flag:"dsn" usage:"Database DSN"`
23+
User string
24+
Pass string
25+
DBName string
2526
}
2627

2728
func OpenDB() (*sql.DB, error) {
@@ -91,8 +92,12 @@ func createConnector(configFile string) CreateConnectorFunc {
9192
// log.Printf("db cfg: %+v", cfg)
9293

9394
dsn := cfg.MySQL.DSN
95+
9496
if len(dsn) == 0 {
95-
return nil, fmt.Errorf("--database.dsn flag or DATABASE_DSN environment variable required")
97+
dsn = os.Getenv("DATABASE_DSN")
98+
if len(dsn) == 0 {
99+
return nil, fmt.Errorf("dsn config in database.yaml or DATABASE_DSN environment variable required")
100+
}
96101
}
97102

98103
dbcfg, err := mysql.ParseDSN(dsn)
@@ -108,6 +113,10 @@ func createConnector(configFile string) CreateConnectorFunc {
108113
dbcfg.Passwd = pass
109114
}
110115

116+
if name := cfg.MySQL.DBName; len(name) > 0 {
117+
dbcfg.DBName = name
118+
}
119+
111120
return mysql.NewConnector(dbcfg)
112121
}
113122
}

0 commit comments

Comments
 (0)