f98b1810 by astaxie

update the reset

1 parent 55a77110
...@@ -45,7 +45,6 @@ type Migrationer interface { ...@@ -45,7 +45,6 @@ type Migrationer interface {
45 45
46 var ( 46 var (
47 migrationMap map[string]Migrationer 47 migrationMap map[string]Migrationer
48 SkipReset []string
49 ) 48 )
50 49
51 func init() { 50 func init() {
...@@ -175,7 +174,7 @@ func Rollback(name string) error { ...@@ -175,7 +174,7 @@ func Rollback(name string) error {
175 func Reset() error { 174 func Reset() error {
176 i := 0 175 i := 0
177 for k, v := range migrationMap { 176 for k, v := range migrationMap {
178 if inSlice(k, SkipReset) { 177 if isRollBack(k) {
179 beego.Info("skip the", k) 178 beego.Info("skip the", k)
180 continue 179 continue
181 } 180 }
...@@ -240,11 +239,19 @@ func sortMap(m map[string]Migrationer) dataSlice { ...@@ -240,11 +239,19 @@ func sortMap(m map[string]Migrationer) dataSlice {
240 return s 239 return s
241 } 240 }
242 241
243 func inSlice(key string, sli []string) bool { 242 func isRollBack(name string) bool {
244 for _, v := range sli { 243 o := orm.NewOrm()
245 if v == key { 244 var maps []orm.Params
246 return true 245 num, err := o.Raw("select * from migrations where `name` = ? order by id desc", name).Values(&maps)
246 if err != nil {
247 beego.Info("get name has error", err)
248 return false
247 } 249 }
250 if num <= 0 {
251 return false
252 }
253 if maps[0]["status"] == "rollback" {
254 return true
248 } 255 }
249 return false 256 return false
250 } 257 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!