|
|
|
|
@ -43,6 +43,8 @@ var dbVersions = map[string]dbVersion{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func UpgradeDatabase() error {
|
|
|
|
|
var currentVersion string
|
|
|
|
|
if db.Migrator().HasTable(&model.Setting{}) {
|
|
|
|
|
setting := model.Setting{
|
|
|
|
|
Name: "database_version",
|
|
|
|
|
Type: model.SettingTypeString,
|
|
|
|
|
@ -60,6 +62,14 @@ func UpgradeDatabase() error {
|
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
|