I want to use south in my django project as migration tool, but I have problem with using south in multiuser scenario:
Two devs working concurrently on different machines create two migrations with same number
on first PC:
0007_extend_lizard.py
on second PC:
0007_swap_name_adopter.py
In this case I can run ./manage migrate --merge
or ./manage migrate 0006
(rollback) and run again ./manage migrate
. BUT when I want add new field in models.py
and run ./manage startmigration southdemo --auto
, then south gets models = {}
meta data from the last migration, and it has have missing info from the first migration. The result of this is creating migration 0008 with creating again (!!!) changes from first 0007.
What's the best way to solve this problem?
Currently I'm thinking about two options:
Manually merge both 0007 migration in one file and then migrate (but some one must execute "rollback")
Manually move missing
models = {}
meta to last 0007 migration and then the next--auto
in 0008 will work perfectly.
What is the better option? Or is there something else I'm missing?