Tagged migration
5 pieces
- · 7 min read
A Migration Is Not a Build: The Old System Knows Things Nobody Wrote Down
Replacing a long-lived platform gets scoped as a greenfield build because the new stack is the exciting part. What actually has to move is fifteen years of business rules encoded in stored procedures and triggers, which no specification describes because nobody ever wrote them. The first deliverable is proving that knowledge moves, on a copy, before anything depends on it having moved.
- · 11 min read
Phasing Is the Architecture: Lay the Reliability Core at Phase One or Rebuild Four Times
A product that must grow from a seed either lays its reliability core at phase one, or rebuilds at every growth step and re-litigates the same reliability questions four times. The core is deliberately more than phase one needs and exactly what the phases after it require, because some properties can be added later at linear cost and some cannot be added later at all. This gives the filter for what belongs in the core, the mechanical test for whether a phase is additive, and what to do when a phase genuinely changes the core's contract.
- · 7 min read
Your Dates Are 543 Years Off, and Every Row Loaded Successfully
A calendar convention read as the wrong system shifts every date by a fixed offset that can be centuries, and nothing rejects the result because the output is a valid date. The same class covers text moving through a legacy code page, numeric separators, and time zones stored without one. These failures pass row counts, null checks and schema validation, which is why a migration has to test for them explicitly rather than wait for them.
- · 8 min read
Inventory on a Copy, Touch Nothing Live
The cheapest risk reduction available in a migration is a first gate that runs entirely against a database copy and ships no features. Because there is no operational risk, the work can be thorough, and thoroughness is the entire value. This is how to scope, price and sell a milestone whose deliverable is documentation rather than software.
- · 8 min read
A Rule With No Instance Is Not Found by Inspection
A business rule that only fires on a condition absent from your copied data will not be discovered by reading the schema, however carefully you read it. That is the structural limit of static discovery, and it is why keeping the old system running during replacement matters more than the completeness of the catalogue. Shadow running and output comparison on live traffic are the only mechanisms that close the gap.