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() }