aboutsummaryrefslogtreecommitdiffstats
path: root/internal/db/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/db/db.go')
-rw-r--r--internal/db/db.go18
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
}