postgres migration tools
Apr 26, 2022
migra
https://github.com/djrobstep/migra
migrais a schema diff tool for PostgreSQL, written in Python. Use it in your python scripts, or from the command line like this:
$ migra postgresql:///a postgresql:///b
alter table "public"."products" add column newcolumn text;
alter table "public"."products" add constraint "x" CHECK ((price > (0)::numeric));
migramagically figures out all the statements required to get from A to B.Most features of PostgreSQL are supported.
Schema migrations are without doubt the most cumbersome and annoying part of working with SQL databases. So much so that some people think that schemas themselves are bad!
But schemas are actually good. Enforcing data consistency and structure is a good thing. It’s the migration tooling that is bad, because it’s harder to use than it should be.
migrais an attempt to change that, and make migrations easy, safe, and reliable instead of something to dread.