config: add setting for database port

This commit is contained in:
Steffen Vogel 2022-09-19 18:15:27 +02:00
parent d3fc5d4c2b
commit 45b4137bc4
2 changed files with 12 additions and 0 deletions

View File

@ -48,6 +48,7 @@ func InitConfig() error {
var (
dbHost = flag.String("db-host", "/var/run/postgresql", "Host of the PostgreSQL database (default is /var/run/postgresql for localhost DB on Ubuntu systems)")
dbPort = flag.Int("db-port", -1, "Port of the PostgreSQL server")
dbName = flag.String("db-name", "villasdb", "Name of the database to use (default is villasdb)")
dbUser = flag.String("db-user", "", "Username of database connection (default is <empty>)")
dbPass = flag.String("db-pass", "", "Password of database connection (default is <empty>)")
@ -91,6 +92,7 @@ func InitConfig() error {
static := map[string]string{
"db.host": *dbHost,
"db.port": fmt.Sprint(*dbPort),
"db.name": *dbName,
"db.user": *dbUser,
"db.pass": *dbPass,

View File

@ -40,6 +40,11 @@ func InitDB(cfg *config.Config, clear bool) error {
return err
}
port, err := cfg.IntOr("db.port", -1)
if err != nil {
return err
}
user, err := cfg.StringOr("db.user", "")
if err != nil {
return err
@ -59,10 +64,15 @@ func InitDB(cfg *config.Config, clear bool) error {
}
dbinfo := fmt.Sprintf("host=%s sslmode=%s dbname=%s", host, sslmode, name)
if user != "" && pass != "" {
dbinfo += fmt.Sprintf(" user=%s password=%s", user, pass)
}
if port > 0 {
dbinfo += fmt.Sprintf(" port=%d", port)
}
db, err := gorm.Open("postgres", dbinfo)
if err != nil {
return err