Abstract

This publication discloses, enables, and dates a schema-migration runner whose defining property is self-convergence under ledger drift. Established migration tools — Flyway, Liquibase, Alembic, Rails ActiveRecord, Django — model migration history as a single authoritative table and treat any divergence between that table and the on-disk migration set as an error state that halts deployment or demands a manual repair/stamp/clearCheckSums intervention. The disclosed runner instead computes the applied set as the union of multiple heterogeneous ledgers (a canonical full-filename ledger, zero or more legacy full-filename ledgers, and a numeric-only hand-applied ledger), and treats a specific class of drift — a numeric-only ledger key that collides with several on-disk migration files — not by guessing, and not by failing, but by preserving the ambiguity and re-attempting each colliding migration. Because the migrations are idempotent and each successful application writes a full-filename ledger row, the ambiguity is provably resolved after one boot, and subsequent boots do zero work. The mechanism is completed by four cooperating components: (1) advisory-lock serialization with the pending set computed inside the lock; (2) in-place convergence of a legacy tracking table to the canonical shape; (3) SHA-256 checksum tamper diffing; and (4) a CI collision-ratchet baseline. This document establishes strong, enabling, dated prior art over the combination.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.

Share

COinS