A Pony On The Move: How Migrations Work In Django 🐎
09-18, 11:15–11:55 (Europe/Lisbon), Virtual

Django ships with a built-in migration framework since version 1.7 in 2014. While migrations are widely used by almost every Django project ever since, there is little known about the internals of the migration framework. This talk will look into its components and how they are tied together.


Django’s migration framework has been around for almost 6 years. From the outset, it had a long journey ahead, considering all the learnings and experience Andrew Godwin had with the 3rd party package South. However, Django’s migrations are not to be considered a rewrite of South as they work fundamentally different.

This talk will give an insight view into the components that make up Django’s migration framework. The talk will lay-out how these components fit and work together. It will outline major challenges and problems that were encountered and overcome along the way.

One of the goals of this talk is to reduce the entry barrier for potential Django contributors to the rather complex migration framework. From their own experience, the author is well aware that there are some parts that are tricky and non-trivial and non-obvious. Thus, this talk is absolutely aimed at prospective contributors, regardless if they are first-time Django contributors or ones with a year-long track record.

Markus Holtermann works as a back-end and infrastructure engineer at Crate.io. He has been a Django core contributor since early 2015. He is a member of the Django security and operations team as well as an organizer of DjangoCon conferences. Markus has been a project lead at the German ubuntuusers.de community support platform where he discovered Python and Django in 2010.