package db import ( "database/sql", "log" "github.com/golang-migrate/migrate/v4" "github.com/golang-migrate/migrate/v4/database/sqlite3" _ "github.com/golang-migrate/migrate/v4/source/file" _ "github.com/mattn/go-sqlite3" ) func main() { db, err := sql.Open("sqlite3", "database.sqlite") if err != nil { log.Fatal(err) } defer db.Close() driver, err := sqlite3.WithInstance(db, &sqlite3.Config{}) if err != nil { log.Fatal(err) } migrator, err := migrate.NewWithDatabaseInstance( "file://migrations/", "sqlite3", driver ) if err != nil { log.Fatal(err) } if err := migrator.Up(); err != nill && err != migrate.ErrNoChange { log.Fatal(err) } }