remotezygote / albatross

Ever-in-flight database migrator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Albatross

The constant migrator.

All SQL!

Have a migrations table. when new migrations are found, simply insert them into the database, with the contents of the migration up/down in text fields. Have a trigger run when new rows are inserted to migrate appropriately. Allow foa lock of migration version via some other table/field, with an update trigger to migrate as needed.

Keep a log of all actions, period, even when rolling up/down, and log the output and any errors.

Push to pubsub queues for output, status, etc. for interface(s). Expose via web sockets for API.

IDEA

albatross_versions table, same signature, same everything but migrates first with 'Upgrading...' message/log event.

About

Ever-in-flight database migrator


Languages

Language:TypeScript 59.0%Language:PLpgSQL 36.9%Language:Dockerfile 2.8%Language:Shell 0.9%Language:JavaScript 0.4%