Fix: init db

pull/48/head v0.3.2-alpha.2
zijiren233 2 years ago
parent 59ada3bd54
commit 1622634a2a

@ -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
@ -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
}

Loading…
Cancel
Save