diff --git a/models/migrations/v161.go b/models/migrations/v161.go index 4ca9f01218..283c44464c 100644 --- a/models/migrations/v161.go +++ b/models/migrations/v161.go @@ -5,6 +5,8 @@ package migrations import ( + "context" + "xorm.io/xorm" ) @@ -40,8 +42,17 @@ func convertTaskTypeToString(x *xorm.Engine) error { return err } + // to keep the migration could be rerun + exist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "hook_task", "type") + if err != nil { + return err + } + if !exist { + return nil + } + for i, s := range hookTaskTypes { - if _, err := x.Exec("UPDATE hook_task set typ = ? where type=?", s, i); err != nil { + if _, err := x.Exec("UPDATE hook_task set typ = ? where `type`=?", s, i); err != nil { return err } }