Expand-contract pattern, dual-write strategies, and feature flags — how to evolve a live immigration database serving 50M records without downtime.