Add built-in databaseRename option for snapshot jobs
Goal
Allow users to rename databases during snapshot creation without writing custom preprocessing scripts. This is a common need when the source database name differs from what's expected in dev/test
environments.
TODO / How to implement
- Add a databaseRename option to physicalSnapshot and logicalSnapshot job configs (map of oldName: newName)
- During snapshot, spin up a temporary Postgres container and execute ALTER DATABASE ... RENAME TO ... for each mapping
- Best-effort Postgres shutdown on teardown to keep snapshot jobs robust
- Update example configs to document the new option
Acceptance criteria
- databaseRename config is accepted in both physical and logical snapshot jobs
- Databases are renamed before the snapshot is finalized
- Unit and integration tests pass
- Existing snapshots without databaseRename are unaffected