package main import ( "os" "strings" "github.com/golang-migrate/migrate/v4" "github.com/golang-migrate/migrate/v4/database/sqlite3" "github.com/golang-migrate/migrate/v4/source/file" "mokhan.ca/xlgmokha/idp/pkg/db" "mokhan.ca/xlgmokha/idp/pkg/x" ) func main() { db := x.Must(db.New("file:db/development.db")) defer db.Close() instance := x.Must(sqlite3.WithInstance(db, &sqlite3.Config{})) files := x.Must((&file.File{}).Open("./db/migrate")) defer files.Close() migrations := x.Must(migrate.NewWithInstance("file", files, "sqlite3", instance)) if len(os.Args) == 2 && strings.ToLower(os.Args[1]) == "down" { x.Check(migrations.Down()) } else { x.Check(migrations.Up()) } }