Engineering Decisions · Senior · Question 12 of 14
You must rename a column in a 500M-row table. The app has rolling deploys, so old and new versions run together, and downtime isn't allowed. What's the plan?
- 1Expand and contract across several releases
- 2One
RENAME COLUMNmigration during the deploy - 3A maintenance window with the app switched off
Show the answer
Correct answer: Expand and contract across several releases
Explanation
Adding a new column, writing to both and dropping the old one later keeps every running version working. A single rename fits a small app with one instance, but during a rolling deploy old code would break on the missing column. A maintenance window fits internal tools or rare, huge changes, and it's ruled out by the no-downtime requirement.