Quellcode durchsuchen

Merge pull request #226 from mr-karan/fix/db-config

Fix/db config
Kailash Nadh vor 4 Jahren
Ursprung
Commit
d9ab365ea1
3 geänderte Dateien mit 17 neuen und 8 gelöschten Zeilen
  1. 11 8
      cmd/queries.go
  2. 3 0
      config-demo.toml
  3. 3 0
      config.toml.sample

+ 11 - 8
cmd/queries.go

@@ -4,6 +4,7 @@ import (
 	"context"
 	"database/sql"
 	"fmt"
+	"time"
 
 	"github.com/jmoiron/sqlx"
 	"github.com/lib/pq"
@@ -84,14 +85,15 @@ type Queries struct {
 
 // dbConf contains database config required for connecting to a DB.
 type dbConf struct {
-	Host     string `koanf:"host"`
-	Port     int    `koanf:"port"`
-	User     string `koanf:"user"`
-	Password string `koanf:"password"`
-	DBName   string `koanf:"database"`
-	SSLMode  string `koanf:"ssl_mode"`
-	MaxOpen  int    `koanf:"max_open"`
-	MaxIdle  int    `koanf:"max_idle"`
+	Host        string        `koanf:"host"`
+	Port        int           `koanf:"port"`
+	User        string        `koanf:"user"`
+	Password    string        `koanf:"password"`
+	DBName      string        `koanf:"database"`
+	SSLMode     string        `koanf:"ssl_mode"`
+	MaxOpen     int           `koanf:"max_open"`
+	MaxIdle     int           `koanf:"max_idle"`
+	MaxLifetime time.Duration `koanf:"max_lifetime"`
 }
 
 // connectDB initializes a database connection.
@@ -104,6 +106,7 @@ func connectDB(c dbConf) (*sqlx.DB, error) {
 	}
 	db.SetMaxOpenConns(c.MaxOpen)
 	db.SetMaxIdleConns(c.MaxIdle)
+	db.SetConnMaxLifetime(c.MaxLifetime)
 	return db, nil
 }
 

+ 3 - 0
config-demo.toml

@@ -10,3 +10,6 @@
     password = "listmonk"
     database = "listmonk"
     ssl_mode = "disable"
+    max_open = 25
+    max_idle = 25
+    max_lifetime = "300s"

+ 3 - 0
config.toml.sample

@@ -17,3 +17,6 @@
     password = "listmonk"
     database = "listmonk"
     ssl_mode = "disable"
+    max_open = 25
+    max_idle = 25
+    max_lifetime = "300s"