github.com/gogriddy/goose@v0.0.0-20180817174216-2c751e0981c8/cmd/goose/cmd_down.go (about)

     1  package main
     2  
     3  import (
     4  	"log"
     5  
     6  	"github.com/CloudCom/goose/lib/goose"
     7  )
     8  
     9  var downCmd = &Command{
    10  	Name:    "down",
    11  	Usage:   "",
    12  	Summary: "Roll back the version by 1",
    13  	Help:    `down extended help here...`,
    14  	Run:     downRun,
    15  }
    16  
    17  func downRun(cmd *Command, args ...string) {
    18  
    19  	conf, err := dbConfFromFlags()
    20  	if err != nil {
    21  		log.Fatal(err)
    22  	}
    23  
    24  	current, err := goose.GetDBVersion(conf)
    25  	if err != nil {
    26  		log.Fatal(err)
    27  	}
    28  
    29  	previous, err := goose.GetPreviousDBVersion(conf.MigrationsDir, current)
    30  	if err != nil {
    31  		log.Fatal(err)
    32  	}
    33  
    34  	if err = goose.RunMigrations(conf, conf.MigrationsDir, previous); err != nil {
    35  		log.Fatal(err)
    36  	}
    37  }