diff --git a/cmd/flags/config.go b/cmd/flags/config.go index ecb63ab..0f047c3 100644 --- a/cmd/flags/config.go +++ b/cmd/flags/config.go @@ -15,4 +15,6 @@ var ( GitHubBaseURL string DataDir string + + ForceAutoMigrate bool ) diff --git a/cmd/root.go b/cmd/root.go index 43da85c..7f13e5a 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -40,6 +40,7 @@ func init() { home = "~" } RootCmd.PersistentFlags().StringVar(&flags.DataDir, "data-dir", filepath.Join(home, ".synctv"), "data dir") + RootCmd.PersistentFlags().BoolVar(&flags.ForceAutoMigrate, "force-auto-migrate", false, "force auto migrate") } func init() { diff --git a/internal/db/update.go b/internal/db/update.go index f46636f..68b4ffe 100644 --- a/internal/db/update.go +++ b/internal/db/update.go @@ -4,6 +4,7 @@ import ( "fmt" log "github.com/sirupsen/logrus" + "github.com/synctv-org/synctv/cmd/flags" "github.com/synctv-org/synctv/internal/conf" "github.com/synctv-org/synctv/internal/model" "gorm.io/gorm" @@ -55,8 +56,8 @@ func UpgradeDatabase() error { if err != nil { return err } - currentVersion := setting.Value - if currentVersion != CurrentVersion { + currentVersion = setting.Value + if flags.ForceAutoMigrate || currentVersion != CurrentVersion { err = autoMigrate(models...) if err != nil { return err