Added dbschema

This commit is contained in:
Magnus Åhall 2026-08-19 18:15:04 +02:00
parent b7595b4c7b
commit 1c697a028b
4 changed files with 300 additions and 4 deletions

22
db.go
View file

@ -3,6 +3,7 @@ package main
import (
// External
"github.com/jackc/pgx/v5/pgxpool"
"smon/dbschema"
// Standard
"context"
@ -14,6 +15,8 @@ var (
)
func initDb(host string, port int, name, username, password string) (err error) {
logger.Info("database", "host", host, "port", port, "name", name, "username", username)
// The main database connection is configured.
connString := fmt.Sprintf(
"host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
@ -27,17 +30,28 @@ func initDb(host string, port int, name, username, password string) (err error)
// The schema upgrader keeps track of the SQL schema version and
// runs SQL scripts to upgrade it if necessary.
/*
upgrader := dbschema.NewUpgrader("_jsonstore")
upgrader := dbschema.NewUpgrader()
upgrader.SetLogCallback(sqlLogCallback)
upgrader.SetSqlCallback(sqlSourceCallback)
_, err = upgrader.AddDatabaseInstance(db, config.Database.Db)
_, err = upgrader.AddDatabaseInstance(db, config.Database.Name)
if err != nil {
return
}
err = upgrader.Run()
*/
return
}
func sqlLogCallback(op, msg string) {
logger.Info("dbschema", "op", op, "message", msg)
}
func sqlSourceCallback(dbName string, version int) ([]byte, bool) {
fname := fmt.Sprintf("sql/%05d.sql", version)
data, err := sqlFS.ReadFile(fname)
if err != nil {
return []byte{}, false
}
return data, true
}