From 65a517e879a98187c9fb0e00c53de58c7afd9caf Mon Sep 17 00:00:00 2001 From: Nikola Kovacs Date: Fri, 9 Jun 2017 11:31:42 +0200 Subject: [PATCH] Allow down-to to roll back first version Fixes #47 --- down.go | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/down.go b/down.go index 551c302..517e796 100644 --- a/down.go +++ b/down.go @@ -38,23 +38,15 @@ func DownTo(db *sql.DB, dir string, version int64) error { return err } - prev, err := migrations.Previous(currentVersion) + current, err := migrations.Current(currentVersion) if err != nil { - if err == ErrNoNextVersion { - fmt.Printf("goose: no migrations to run. current version: %d\n", currentVersion) - return nil - } - return err - } - - if prev.Version < version { fmt.Printf("goose: no migrations to run. current version: %d\n", currentVersion) return nil } - current, err := migrations.Current(currentVersion) - if err != nil { - return fmt.Errorf("no migration %v", currentVersion) + if current.Version <= version { + fmt.Printf("goose: no migrations to run. current version: %d\n", currentVersion) + return nil } if err = current.Down(db); err != nil {