Skip to content

experiment: non-sequential migrations

Warren Gifford requested to merge ef/experiment-non-sequential-migrations into main

Created by: efritz

This branch is an experiment (never meant to be merged) to ensure that a set of migration features, when implemented to completion, work well together. Now that this has been proven, this effort will be cut up into smaller, more digestible chunks.

The PRs that come from this branch will be linked here. Periodically, I may merge an updated main into this branch to "checkpoint" completed work. This will reduce the diff of this experimental branch to main to keep the relevant portions of the experiment that are still in discussion focused.


This branch has made several large changes:

  • Migrations are now stored in a directory rather than in a pair of files
  • A linear sequence of migrations are no longer necessary; any single-entry, single-exit DAG is validated
  • The migrator cli been rewritten with four commands: up(grade), upto, downto, and revert
  • Drop the advisory lock before applying a concurrent index creation command
  • Poll for the advisory lock

CI builds (main-dry-run/*):

Merge request reports

Loading