- Notifications
You must be signed in to change notification settings - Fork 344
Open
Description
Description
Schemas produced with dbmate dump for PostgreSQL cannot be used to provision databases. This is especially annoying because I wanted to use the dump to provision test database as well as to generate code with bob and it requires loading the dump into a running database.
I understand that dbmate simply uses pg_dump under the the hood, but it could at least try to clean up the produced dumps and make sure they are loadable.
- Version: 2.27
- Database: PostgreSQL 17.x
- Operating System: Ubuntu 24.04
Steps To Reproduce
- Create an empty database using
dbmate create - Create a dump with
dbmate dump - Try loading this dump with
dbmate load - Observe
Reading: ./db/schema.sql Error: pq: schema "public" already existsSETstatements also cause problems when loading pg17 dumps in pg16.
Expected Behavior
- No errors should be raised, dbmate should either filter out sql commands related to creating public schema and it's own
schema_migrationstable from the dump or ignore them when loading it.
I volunteer myself to prepare a fix if we agree on a solution.
Reactions are currently unavailable