diff --git a/migrations/migration.go b/migrations/migration.go index b53fbd1..82fb7f5 100644 --- a/migrations/migration.go +++ b/migrations/migration.go @@ -244,3 +244,14 @@ func Migrate(db *sqlx.DB, migrations []NamedMigration) error { } } } + +// This function requires write privleges even if the schema already exists +func EnsureSchema(db *sqlx.DB, schemaName string) error { + q := fmt.Sprintf("CREATE SCHEMA IF NOT EXISTS %s", schemaName) + _, err := db.Exec(q) + if err != nil { + return fmt.Errorf("Error ensuring schema %q: %w", schemaName, err) + } + + return nil +}