Skip to content

Commit

Permalink
Fix: init db
Browse files Browse the repository at this point in the history
  • Loading branch information
zijiren233 committed Dec 26, 2023
1 parent 59ada3b commit 1622634
Showing 1 changed file with 25 additions and 15 deletions.
40 changes: 25 additions & 15 deletions internal/db/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,33 @@ var dbVersions = map[string]dbVersion{
}

func UpgradeDatabase() error {
setting := model.Setting{
Name: "database_version",
Type: model.SettingTypeString,
Group: model.SettingGroupDatabase,
Value: CurrentVersion,
}
err := FirstOrCreateSettingItemValue(&setting)
if err != nil {
return err
}
currentVersion := setting.Value
if currentVersion != CurrentVersion {
err = autoMigrate(models...)
var currentVersion string
if db.Migrator().HasTable(&model.Setting{}) {
setting := model.Setting{
Name: "database_version",
Type: model.SettingTypeString,
Group: model.SettingGroupDatabase,
Value: CurrentVersion,
}
err := FirstOrCreateSettingItemValue(&setting)
if err != nil {
return err
}
currentVersion := setting.Value
if currentVersion != CurrentVersion {
err = autoMigrate(models...)
if err != nil {
return err
}
}
} else {
err := autoMigrate(models...)
if err != nil {
return err
}
currentVersion = CurrentVersion
}

version, ok := dbVersions[currentVersion]
if !ok {
return nil
Expand All @@ -72,12 +82,12 @@ func UpgradeDatabase() error {
}
log.Infof("Upgrading database to version %s", currentVersion)
if version.Upgrade != nil {
err = version.Upgrade(db)
err := version.Upgrade(db)
if err != nil {
return err
}
}
err = UpdateSettingItemValue("database_version", currentVersion)
err := UpdateSettingItemValue("database_version", currentVersion)
if err != nil {
return err
}
Expand Down

0 comments on commit 1622634

Please sign in to comment.