diff options
Diffstat (limited to 'internal/db/db.go')
| -rw-r--r-- | internal/db/db.go | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/internal/db/db.go b/internal/db/db.go index 601680d..0f66fcc 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -139,12 +139,7 @@ func (c *Cluster) CreateBlogDB(ctx context.Context, dbName string) error { return nil } -// execer is the pool or connection createDatabase runs on. -type execer interface { - Exec(ctx context.Context, sql string, args ...any) (pgconn.CommandTag, error) -} - -func createDatabase(ctx context.Context, db execer, dbName string) error { +func createDatabase(ctx context.Context, db *pgxpool.Pool, dbName string) error { _, err := db.Exec(ctx, `CREATE DATABASE `+pgx.Identifier{dbName}.Sanitize()) var pgErr *pgconn.PgError if errors.As(err, &pgErr) && pgErr.Code == "42P04" { // duplicate_database @@ -169,10 +164,9 @@ func (c *Cluster) DropBlogDB(ctx context.Context, dbName string) error { // ---- migrations ------------------------------------------------------------ -// MigrateControl applies the control database migrations, including the Go -// migration that moves content out into the blog databases. +// MigrateControl applies the control database migrations. func MigrateControl(ctx context.Context, controlURL string) error { - return migrate(ctx, controlURL, "migrations/control", goose.WithGoMigrations(splitMigration(controlURL))) + return migrate(ctx, controlURL, "migrations/control") } // MigrateBlog applies the blog schema migrations to one blog database. @@ -181,8 +175,8 @@ func MigrateBlog(ctx context.Context, blogURL string) error { } // migrate runs goose over database/sql. A Provider (rather than the package -// globals) keeps the two migration sets, and the Go migration, apart. -func migrate(ctx context.Context, dsn, dir string, opts ...goose.ProviderOption) error { +// globals) keeps the two migration sets apart. +func migrate(ctx context.Context, dsn, dir string) error { sqldb, err := sql.Open("pgx", dsn) if err != nil { return err @@ -192,7 +186,7 @@ func migrate(ctx context.Context, dsn, dir string, opts ...goose.ProviderOption) if err != nil { return err } - p, err := goose.NewProvider(goose.DialectPostgres, sqldb, fsys, opts...) + p, err := goose.NewProvider(goose.DialectPostgres, sqldb, fsys) if err != nil { return err } |
