South. A brand new light-weight Django migrations tool from Andrew Godwin. On first glance, this is spookily similar to the system we’ve been putting together at GCap.
South. A brand new light-weight Django migrations tool from Andrew Godwin. On first glance, this is spookily similar to the system we’ve been putting together at GCap.
On first glance, this seems quite similar to django-evolution; can anyone shed light on the differences?
Ken Arnold - 8th August 2008 15:29 - #
django-evolution actually takes a very different approach to traditional migration systems - it attempts to automatically detect low level changes to models, which it does by storing a pickled object representing the current state of the model in the database itself.
In practice, I found this approach to be too brittle for my taste - just in my early experiments with the system I managed to get myself in to an inconsistent state where it stopped working entirely.
The approach taken by South (and by the GCap system I alluded to) is much less clever - and at GCap, that was an intentional design decision. The less smart you're trying to be, the less chances there are that something will go wrong. It means you have to manually create "add column" migrations when you add a column, but in practice this isn't really much of a burden.
We'l be discussing these two philosophical approaches to migrations in the migrations panel at DjangoCon - video will be available online for people who didn't manage to score a conference ticket.