From 44a3bf64c12406cbecb972af3ee9628b344a3ef0 Mon Sep 17 00:00:00 2001 From: Yi-Ting Shih Date: Fri, 12 Dec 2025 22:38:36 +0800 Subject: [PATCH] Feat: optional reset --- cmds/serve.go | 2 ++ utils/initDB.go | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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 }