Sqitch
2022-01-28
For every migration you write three migration scripts: A deploy script, a revert script and a verify script. There is also a plan file which lists the necessary migrations in the right order and sqitch keeps track of the current state of the database in the sqitch schema, and applies only those migrations which haven’t been applied yet. So quite similar to Django migrations except that you have to write the migration scripts yourself, they aren’t automatically generated from the diff of two schema descriptions. The scripts are “native” to the database, for PostgreSQL that means psql.