|
|
@@ -7,6 +7,7 @@ package migrations |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"os" |
|
|
|
"regexp" |
|
|
|
"strings" |
|
|
|
|
|
|
@@ -290,12 +291,16 @@ Please try upgrading to a lower version first (suggested v1.6.4), then upgrade t |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
// Downgrading Gitea's database version not supported |
|
|
|
if int(v-minDBVersion) > len(migrations) { |
|
|
|
// User downgraded Gitea. |
|
|
|
currentVersion.Version = int64(len(migrations) + minDBVersion) |
|
|
|
_, err = x.ID(1).Update(currentVersion) |
|
|
|
return err |
|
|
|
msg := fmt.Sprintf("Downgrading database version from '%d' to '%d' is not supported and may result in loss of data integrity.\nIf you really know what you're doing, execute `UPDATE version SET version=%d WHERE id=1;`\n", |
|
|
|
v, minDBVersion+len(migrations), minDBVersion+len(migrations)) |
|
|
|
fmt.Fprint(os.Stderr, msg) |
|
|
|
log.Fatal(msg) |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
// Migrate |
|
|
|
for i, m := range migrations[v-minDBVersion:] { |
|
|
|
log.Info("Migration[%d]: %s", v+int64(i), m.Description()) |
|
|
|
if err = m.Migrate(x); err != nil { |