2022-10-09 15:23:52 +02:00
|
|
|
package store
|
|
|
|
|
|
|
|
|
|
import (
|
2023-04-27 07:09:10 +02:00
|
|
|
"embed"
|
|
|
|
|
|
2022-10-09 15:23:52 +02:00
|
|
|
"github.com/jmoiron/sqlx"
|
2023-04-27 07:09:10 +02:00
|
|
|
"github.com/pressly/goose/v3"
|
2022-10-09 15:23:52 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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")
|
|
|
|
|
//}
|
2023-04-27 07:09:10 +02:00
|
|
|
|
|
|
|
|
//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)
|
2023-05-05 10:46:16 +02:00
|
|
|
if err := goose.SetDialect("postgres"); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
2023-04-27 07:09:10 +02:00
|
|
|
return goose.Up(db.DB, "event_store_migrations")
|
|
|
|
|
}
|