# A breaking schema change has been filed: the users table renames signup_date to created_at and chang

Canonical URL: <https://datadriven.io/problems/a-breaking-schema-change-has-been-filed-the-users-table-ren-f512d51f>

Domain: Pipeline Design · Difficulty: medium

## Problem

A breaking schema change has been filed: the users table renames signup_date to created_at and changes its type from DATE to TIMESTAMP. Twelve downstream consumer teams read this column. A flag-day deploy is impossible. The section's pattern is expand-contract in four phases: expand (add new shape, keep old), dual-write (populate both for every event), migrate (cut consumers over to new shape one at a time), and contract (drop old shape after every consumer has migrated). Order the phases on the canvas by adding four phase-marker nodes between the producer and the consumers, named so each marker states which phase it represents and what the producer and consumers are doing at that phase.

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-breaking-schema-change-has-been-filed-the-users-table-ren-f512d51f)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.