~/talk

Space Django: Migrating and Redesigning a Database while Hunting for Satellites.

Talkat PyCon AU 2024 · 2024-11-22..11-26· [databases]
links:none on file
slides:none on file

A startup migrates a messy JSON-backed Postgres schema by copying rows with Django ORM into a redesigned relational schema, running as a CI-invoked management command and tracking progress per-table. The migration keeps a two-database setup (internal vs customer) and uses a mapping dictionary to transform columns plus Django signals for near-real-time sync; scripts handle bulk tables. The approach works for this dataset and deadlines but is sequential, cache-dependent, and not a universal solution.

AI-written summary · about

  1. 0:00Space Django project
  2. 1:54Hunting satellites meaning
  3. 5:08Initial database challenges
  4. 9:26Migration goals and time
  5. 10:30Off-the-shelf migration tools
  6. 11:34Raw SQL mistake
  7. 12:20Django ORM for migration
  8. 13:47Risks in migration files
  9. 14:52Dual DB access with signals
  10. 16:18API abstraction layer
  11. 17:00Database redesign plan
  12. 18:04Data migration approach
  13. 21:18Migration logic classes
  14. 22:22Simple vs complex data
  15. 23:27Migration performance
  16. 24:56Sequential loops unavoidable
  17. 25:41Migration progress tracking
  18. 26:44Next steps after migration
  19. 27:47Q&A: Field mapping
~/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.