package store import ( "context" "database/sql" "embed" _ "github.com/jackc/pgx/v5/stdlib" // pgx database/sql driver "github.com/pressly/goose/v3" ) //go:embed migrations/*.sql var migrationsFS embed.FS // Migrate applies all pending goose migrations to the database at dsn. func Migrate(ctx context.Context, dsn string) error { db, err := sql.Open("pgx", dsn) if err != nil { return err } defer db.Close() goose.SetBaseFS(migrationsFS) if err := goose.SetDialect("postgres"); err != nil { return err } return goose.UpContext(ctx, db, "migrations") }