我有一个现有的django应用程序,并希望为模型添加一个字段。 但由于该网站已经投入生产,因此不再需要删除数据库。
这是我采取的步骤:
pip install south
python manage.py syncdb
python manage.py convert_to_south [myapp]
所以现在我进行了初始迁移,南方将识别这些变化。然后我将该字段添加到我的模型中并运行:
python manage.py schemamigration [myapp] --auto
python manage.py migrate [myapp]
现在我进行了以下迁移:
我现在应该在我的生产服务器上运行哪些命令进行迁移?我应该首先安装南方然后拉代码更改和迁移吗?
答案 0 :(得分:3)
首先是假冒初始迁移:
python manage.py migrate [yourapp] --fake 0001
然后您可以将迁移应用于db
python manage.py migrate [yourapp]
我假设你在开发上运行convert_to_south
,在这种情况下,生产仍然不会意识到迁移。 convert_to_south
会自动为您暂停初始迁移!如果您只是在没有伪造的情况下在生产中运行migrate
,那么它应该是错误的。