Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Migrations: Whatwhyhowwho?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Andrew Godwin
May 04, 2009
Programming
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Migrations: Whatwhyhowwho?
A talk I gave at EuroDjangoCon 2009.
Andrew Godwin
May 04, 2009
More Decks by Andrew Godwin
See All by Andrew Godwin
Reconciling Everything
andrewgodwin
1
400
Django Through The Years
andrewgodwin
0
330
Writing Maintainable Software At Scale
andrewgodwin
0
530
A Newcomer's Guide To Airflow's Architecture
andrewgodwin
0
430
Async, Python, and the Future
andrewgodwin
2
750
How To Break Django: With Async
andrewgodwin
1
830
Taking Django's ORM Async
andrewgodwin
0
850
The Long Road To Asynchrony
andrewgodwin
0
770
The Scientist & The Engineer
andrewgodwin
1
860
Other Decks in Programming
See All in Programming
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
160
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
130
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
100
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
500
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
880
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
750
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
230
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.8k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
330
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to make the Groovebox
asonas
2
2.3k
Designing Experiences People Love
moore
143
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Transcript
Migrations: whatwhyhowwho? http://www.flickr.com/photos/moonjazz/1216783552/
I'm�Andrew. @andrewgodwin http://aeracode.org
mi·gra·tion whatwhyhowwho? 1.�noun A�way�to�keep�your�sanity�when changing�model�definitions. See�also:�Schema�Evolution
whatwhyhowwho? class Pony(models.Model ): name = models.CharField(max_length=100) height = models.IntegerField()
class Pony(models.Model ): name = models.CharField(max_length=100) height = models.FloatField() born = models.DateField()
whatwhyhowwho? django.contrib.migrations
whatwhyhowwho? south migratory yadsel django-evolution dmigrations deseb schema-evolution
whatwhyhowwho? south migratory yadsel django-evolution dmigrations deseb schema-evolution
whatwhyhowwho? django-evolution ·�1½�years�old ·�uses�syncdb�initially ·�support�automatic�'hinting'
whatwhyhowwho? dmigrations ·�8�months�old ·�uses�migrations�from�start ·�MySQL�only ·�migrations�are�project-wide
whatwhyhowwho? south ·�8�months�old ·�uses�migrations�from�start ·�supports�'autodetection' ·�migrations�are�per-app ·�mine
whatwhyhowwho? south django-evolution vs
whatwhyhowwho? why? why?
whatwhyhowwho? south django-evolution 1.�install 3.�make�initial �����migration 4.�migrate�to�initial 2.�syncdb 1.�install 2.�syncdb
whatwhyhowwho? south django-evolution 1.�install 3.�make�initial �����migration 4.�migrate�to�initial 2.�syncdb 1.�install 2.�syncdb
whatwhyhowwho? live�demo Ponies! South! django-evolution!
whatwhyhowwho? the f�u�t�u�r�e
whatwhyhowwho? http://code.djangoproject.com/wiki/SchemaEvolution http://south.aeracode.org http://code.google.com/p/django-evolution/
whatwhyhowwho? Thanks. Andrew�Godwin http://aeracode.org @andrewgodwin