package db import ( "log/slog" "git.ctdo.de/ctdo/machinelock-manager/config" "github.com/glebarez/sqlite" "gorm.io/driver/postgres" "gorm.io/gorm" "gorm.io/gorm/logger" ) var DB *gorm.DB func init() { var err error switch config.DbType { case "sqlite": DB, err = gorm.Open(sqlite.Open(config.Db), &gorm.Config{ Logger: logger.Default.LogMode(logger.Silent), }) case "psql": DB, err = gorm.Open(postgres.Open(config.Db), &gorm.Config{ Logger: logger.Default.LogMode(logger.Silent), }) } if err != nil { slog.Error("failed to connect database", "error", err.Error()) panic(0) } migrate() } func migrate() { err := DB.AutoMigrate( &Token{}, &Machine{}, ) if err != nil { slog.Error(err.Error()) panic(0) } }