我想使用南来管理使用 mercurial 的开发和生产中的数据库更改。但是我不知道该怎么办!
假设我有一个根本不使用南的项目。它在生产和开发中与 mercurial 同步。一切正常!
现在,有一天我想对应用程序测试的模型进行更改。所以,我在我的开发环境中是
1. python manage.py convert_to_south 测试 2. python manage.py 迁移
现在我改变模型然后
3. python manage.py schemamigration test --auto 4. python manage.py 迁移
现在我把一切都交给善变
5.hg 删除 6. hg commit -m "向南转换并改变了东西" 7.hg推生产
在 uat 中一切似乎都运行良好,但是我无法让它在生产中运行:(
所以我认为正确的工作流程是登录生产并应用更改
1. 汞更新
然后只是迁移应用程序
2. python manage.py 迁移
但这不起作用,我收到一个奇怪的“test_table”错误已经存在(出于某种原因,南方想再次装箱)。另外,我在这里阅读了将 South 添加到 Django 项目、开发和生产中,我应该在进行迁移之前执行 python manage.py migrate test --fake 0001 - 但这也没有用(我收到一个缺少表的错误或类似的东西)。
所以 ?我应该怎么办 ?将迁移应用于开发和环境的正确方法是什么?我是否应该将我的应用程序的 /migrations/ 目录从 mercurial 中移除并运行
python manage.py convert_to_south 测试 和 python manage.py schemamigration test --auto
开发和生产?