github.com/CloudCom/goose@v0.0.0-20151110184009-e03c3249c21b/cmd/goose/cmd_redo.go (about) 1 package main 2 3 import ( 4 "log" 5 6 "github.com/CloudCom/goose/lib/goose" 7 ) 8 9 var redoCmd = &Command{ 10 Name: "redo", 11 Usage: "", 12 Summary: "Re-run the latest migration", 13 Help: `redo extended help here...`, 14 Run: redoRun, 15 } 16 17 func redoRun(cmd *Command, args ...string) { 18 conf, err := dbConfFromFlags() 19 if err != nil { 20 log.Fatal("Error loading config file:", err) 21 } 22 23 current, err := goose.GetDBVersion(conf) 24 if err != nil { 25 log.Fatal(err) 26 } 27 28 previous, err := goose.GetPreviousDBVersion(conf.MigrationsDir, current) 29 if err != nil { 30 log.Fatal(err) 31 } 32 33 if err := goose.RunMigrations(conf, conf.MigrationsDir, previous); err != nil { 34 log.Fatal(err) 35 } 36 37 if err := goose.RunMigrations(conf, conf.MigrationsDir, current); err != nil { 38 log.Fatal(err) 39 } 40 }