yel*_*cap 5 django user-input model rename django-south
我使用django-south在django项目中迁移数据库表.我正在重命名模型,正如前一个问题中所讨论的那样:
# Renaming model from 'Foo' to 'Bar'
db.rename_table('myapp_foo', 'myapp_bar')
db.send_create_signal('myapp', ['Bar'])
Run Code Online (Sandbox Code Playgroud)
但是,我使用fabric自动将我的应用程序部署到生产服务器,我希望迁移在没有任何用户输入的情况下运行.为此,我使用noinput选项运行migration命令,如下所示
python manage.py migrate --noinput
Run Code Online (Sandbox Code Playgroud)
这种方法很好,除了send_create_signal在这种模式下不删除过时的内容类型.
这是因为django contenttype管理命令update_contenttypes仅在给定输入时才删除陈旧的contenttypes.
我可以直接在南迁移中复制update_contenttypes命令,但这似乎不是一个好的解决方案.有没有人建议如何触发删除内容类型而不重复django命令中的内容?
根据我的经验,manage.py syncdb --all当南方参与其中时,跑步有一定作用,但并非总是有效。您可以尝试一下,因为它过去对我有用,尤其是从内容类型表中删除过时的模型时。
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |