mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-19 15:40:50 +00:00
Add command to recreate tables (#12407)
Provides new command: `gitea doctor recreate-table` which will recreate db tables and copy the old data in to the new table. This function can be used to remove the old warning of struct defaults being out of date. Fix #8868 Fix #3265 Fix #8894 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
parent
ad2bf376df
commit
1b9d5074a7
5 changed files with 365 additions and 0 deletions
|
@ -258,6 +258,30 @@ func doMigrationTest(t *testing.T, version string) {
|
|||
err = models.NewEngine(context.Background(), wrappedMigrate)
|
||||
assert.NoError(t, err)
|
||||
currentEngine.Close()
|
||||
|
||||
err = models.SetEngine()
|
||||
assert.NoError(t, err)
|
||||
|
||||
beans, _ := models.NamesToBean()
|
||||
|
||||
err = models.NewEngine(context.Background(), func(x *xorm.Engine) error {
|
||||
currentEngine = x
|
||||
return migrations.RecreateTables(beans...)(x)
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
currentEngine.Close()
|
||||
|
||||
// We do this a second time to ensure that there is not a problem with retained indices
|
||||
err = models.SetEngine()
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = models.NewEngine(context.Background(), func(x *xorm.Engine) error {
|
||||
currentEngine = x
|
||||
return migrations.RecreateTables(beans...)(x)
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
currentEngine.Close()
|
||||
}
|
||||
|
||||
func TestMigrations(t *testing.T) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue