(I know there is a title the same as this, but the question is different).
I have managed to get my development machine migrations and production migrations out of sync.
I have a Django app which was using South. I had my own workflow that worked fine (it probably wasn't the correct way to do things, but I had no problems with it).
Basically I have a script that copies the production database dump to my development machine. It also copied the migration files. That way the two were in synch, and I could run South commands as normal.
Now I have upgraded to 1.7, and started using migrations. When I use my previous workflow (copy database dump, and migration files from production), it is not detecting changes on my development machine.
I have read through the migrations document, and I see that the correct way to use it is to
- run "make migrations" and "migrate" on my development machine.
- run "migrate" on my devlopemnt machine to actually make the database changes
- Copy changes over, including migration files.
- run "migrate" on the production machine. (without the "makemigrations" step)
Anyway. It is all a mess now. I would like to "reset" my migrations and start from scratch, doing things properly from now on.
What do I need to do?
- Delete the contents of the migration table (on both machines)?
- Delete the contents of the migration folder? (Including the init.py file).
- Start the migrations as per the documentation for a new one.
Have I missed anything?
Is there a reason why copying everything from production(database and migration files) doesn't detect any changes on my development machine afterwards
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…