~/talk

Peaceful Django Migrations with Efe Öge

Talkat DjangoCon US 2025 · on Monday, 2025-09-08· at 15:40· Wolf Point Ballroom· [django, databases]
slides:none on file

Explains two concrete causes of deployment outages: schema-version mismatch during rolling deploys (old servers writing rows the new code doesn’t expect) and long blocking locks from migrations (example: a migration stuck ~300 seconds). Gives specific Postgres details — Postgres 11 avoids a blocking ALTER when adding a non-null column with a constant default; indexes must be created CONCURRENTLY to avoid locks — and recommends three tools: django-migration-linter, squawk, and experimental proll (creates shadow schemas, promising but not proven in production). Run linters in CI before deploy.

AI-written summary · about

  1. 0:00Introduction
  2. 3:33Django migrations 101
  3. 13:03Downtime in deployments
  4. 17:58Schema mismatch in rolling deployments
  5. 19:04PostgreSQL locks impact
  6. 21:11Long-running migrations prediction
  7. 25:44Automated downtime prevention
  8. 30:45Summary & Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.