The Schema Migration
DEX TALKS #2 ? Written by Raguvind ? Illustrated with AI
Open full-resolution image to zoom into the artwork.
Nobody breaks prod on purpose. That's the scary part.
Text version
Panel 1 ? Tuesday, 11:00 AM
PR #842 proposes renaming customer_id to user_id. The author: ?just aligning with the new naming convention, quick cleanup.?
Panel 2 ? The query (broken)
The downstream model still references the old name:
SELECT
date,
SUM(amount) AS revenue
FROM fact_payments
WHERE customer_id IS NOT NULL
AND status = 'success'
AND event_date = CURRENT_DATE - 1
GROUP BY 1;
Query result: ?Query failed. Column customer_id does not exist.?
The engineer: ?The dashboard still loads. Ship it.?
Panel 3 ? Thursday, 9:18 AM
Monitoring Bot: ?Revenue refresh failed. Showing last successful data.?
Ops: ?Is the dashboard broken?? Finance: ?Did payments go down?? Analytics: ?Anyone looking into this??
The engineer: ?OH NO.?
Panel 4 ? The postmortem
Incident RCA ? Revenue Dashboard Outage. Root cause: customer_id. Fix: user_id.
Lessons: improve cross-team communication, coordinate schema changes, document naming conventions, align on change management, ?? (and 7 more things).?
?One word. Two days. Forty Slack messages.?
Closing
DEX: ?Names change. Consequences don?t.?
?The modern data stack is held together by one-word changes and good intentions.?
?Rename in dev and apologies in prod.?