diff --git a/cmds/serve.go b/cmds/serve.go index 368d18b..fed585d 100644 --- a/cmds/serve.go +++ b/cmds/serve.go @@ -145,6 +145,8 @@ func init() { String("cors-origin", "", "CORS origin") serveCmd.Flags(). String("preshared-key", "poop", "Preshared key for Discord Bot") + serveCmd.Flags(). + Bool("reset", false, "Reset database") serveCmd.Flags(). Int64("access-token-timeout", 300, "Timeout of Access Token JWT") diff --git a/utils/initDB.go b/utils/initDB.go index 4005b2d..3f0b57e 100644 --- a/utils/initDB.go +++ b/utils/initDB.go @@ -4,14 +4,24 @@ import ( "context" "gitea.konchin.com/go2025/backend/models" + "github.com/spf13/viper" "github.com/uptrace/bun" ) func InitDB(ctx context.Context, db *bun.DB) error { - return db.ResetModel(ctx, + db.RegisterModel( (*models.AliasImage)(nil), (*models.Alias)(nil), (*models.Image)(nil), (*models.Session)(nil), ) + if viper.GetBool("reset") { + return db.ResetModel(ctx, + (*models.AliasImage)(nil), + (*models.Alias)(nil), + (*models.Image)(nil), + (*models.Session)(nil), + ) + } + return nil }