Skip to content

Commit

Permalink
Beego skipping some migrations
Browse files Browse the repository at this point in the history
Beego skipping some migrations beego#3657
  • Loading branch information
priyeshpc authored May 17, 2019
1 parent 58b2ac7 commit fcacfc0
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion migration/migration.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,9 @@ func Register(name string, m Migrationer) error {
func Upgrade(lasttime int64) error {
sm := sortMap(migrationMap)
i := 0
migs, _ := getAllMigrations()
for _, v := range sm {
if v.created > lasttime {
if _, ok := migs[v.name]; !ok {
logs.Info("start upgrade", v.name)
v.m.Reset()
v.m.Up()
Expand Down Expand Up @@ -310,3 +311,20 @@ func isRollBack(name string) bool {
}
return false
}
func getAllMigrations() (map[string]string, error) {
o := orm.NewOrm()
var maps []orm.Params
migs := make(map[string]string)
num, err := o.Raw("select * from migrations order by id_migration desc").Values(&maps)
if err != nil {
logs.Info("get name has error", err)
return migs, err
}
if num > 0 {
for _, v := range maps {
name := v["name"].(string)
migs[name] = v["status"].(string)
}
}
return migs, nil
}

0 comments on commit fcacfc0

Please sign in to comment.