goose/redo.go
Vojtech Vitek (V-Teq) f49670b2b4 Fix go migration up
2016-09-29 19:30:23 -04:00

34 lines
555 B
Go

package goose
import (
"database/sql"
)
func Redo(db *sql.DB, dir string) error {
current, err := GetDBVersion(db)
if err != nil {
return err
}
migrations, err := CollectMigrations(dir, minVersion, maxVersion)
if err != nil {
return err
}
migrations.Sort(false) // descending, Next will be Previous
previous, err := migrations.Next(current)
if err != nil {
return err
}
if err := RunMigrations(db, dir, previous); err != nil {
return err
}
if err := RunMigrations(db, dir, current); err != nil {
return err
}
return nil
}