diff --git a/internal/db/db.go b/internal/db/db.go new file mode 100644 index 0000000..e09e0dd --- /dev/null +++ b/internal/db/db.go @@ -0,0 +1,35 @@ +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) + } +}