Files
spend-sparrow/api/context/db.go
2024-07-25 17:23:46 +02:00

42 lines
650 B
Go

package context
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/lib/pq"
)
func InitializeDB() *sql.DB {
db, err := sql.Open("sqlite3", "./data.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
runMigrations(db)
return db
}
func runMigrations(db *sql.DB) {
driver, err := sqlite3.WithInstance(db, &sqlite3.Config{})
if err != nil {
panic(err)
}
m, err := migrate.NewWithDatabaseInstance(
"file://./migrations/",
"",
driver)
if err != nil {
panic(err)
}
m.Up()
}