Files
schemas/store/store.go
T

43 lines
858 B
Go

package store
import (
"embed"
"github.com/jmoiron/sqlx"
"github.com/pressly/goose/v3"
)
func SetupDB(driverName, url string) (*sqlx.DB, error) {
db, err := sqlx.Open(driverName, url)
if err != nil {
return nil, err
}
//if err := runMigrations(db); err != nil {
// return nil, err
//}
return db, nil
}
// <!--go:embed migrations/*.sql-->
//var embedMigrations embed.FS
//
//func runMigrations(db *sqlx.DB) error {
// goose.SetBaseFS(embedMigrations)
//
// return goose.Up(db.DB, "migrations")
//}
//go:embed event_store_migrations/*.sql
var embedEventStoreMigrations embed.FS
func RunEventStoreMigrations(db *sqlx.DB) error {
goose.SetTableName("goose_db_version_event")
goose.SetBaseFS(embedEventStoreMigrations)
if err := goose.SetDialect("postgres"); err != nil {
return err
}
return goose.Up(db.DB, "event_store_migrations")
}