update to support postgresql and add godocs
Some checks failed
continuous-integration/drone Build is passing
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / End-to-End (push) Has been cancelled
CI / Publish Docker (push) Has been cancelled

This commit is contained in:
2026-01-13 17:05:14 +11:00
parent afec4aacb0
commit ea1eeb5c21
37 changed files with 618 additions and 38 deletions

18
main.go
View File

@@ -6,6 +6,7 @@ import (
"log/slog"
"os"
"runtime"
"strings"
"time"
"vctp/db"
"vctp/internal/secrets"
@@ -46,7 +47,20 @@ func main() {
ctx, cancel := context.WithCancel(context.Background())
// Configure database
database, err := db.New(logger, utils.GetFilePath("db.sqlite3"))
dbDriver := os.Getenv("DB_DRIVER")
if dbDriver == "" {
dbDriver = "sqlite"
}
normalizedDriver := strings.ToLower(strings.TrimSpace(dbDriver))
if normalizedDriver == "" || normalizedDriver == "sqlite3" {
normalizedDriver = "sqlite"
}
dbURL := os.Getenv("DB_URL")
if dbURL == "" && normalizedDriver == "sqlite" {
dbURL = utils.GetFilePath("db.sqlite3")
}
database, err := db.New(logger, db.Config{Driver: dbDriver, DSN: dbURL})
if err != nil {
logger.Error("Failed to create database", "error", err)
os.Exit(1)
@@ -54,7 +68,7 @@ func main() {
defer database.Close()
//defer database.DB().Close()
if err = db.Migrate(database); err != nil {
if err = db.Migrate(database, dbDriver); err != nil {
logger.Error("failed to migrate database", "error", err)
os.Exit(1)
}