// This is custom goose binary with sqlite3 support only. package main import ( "flag" "log" "os" "github.com/bandlab/goose" _ "github.com/mattn/go-sqlite3" ) var ( flags = flag.NewFlagSet("goose", flag.ExitOnError) dir = flags.String("dir", ".", "directory with migration files") ) func main() { flags.Parse(os.Args[1:]) args := flags.Args() if len(args) < 2 { flags.Usage() return } dbstring, command := args[1], args[2] db, err := goose.OpenDBWithDriver("sqlite3", dbstring) if err != nil { log.Fatalf("goose: failed to open DB: %v\n", err) } arguments := []string{} if len(args) > 3 { arguments = append(arguments, args[3:]...) } if err := goose.Run(command, db, *dir, arguments...); err != nil { log.Fatalf("goose %v: %v", command, err) } }