【问题标题】:schemamigration/refactor model using south使用南的架构迁移/重构模型
【发布时间】:2012-02-23 11:32:45
【问题描述】:

我有模型Foo,它位于应用程序bar 中。现在,我希望将 thmodel 移动到应用程序bar2。当syncdbbar 之前,我已经在使用db_table

meta:
   db_table = 'foo_table'

现在,当我使用 bar 进行架构迁移时,South 希望我删除该表。有什么方法可以避免这种情况(尽管更改了应用程序,表名foo_table 仍然相同)而无需手动编辑迁移文件?

【问题讨论】:

  • 编辑迁移文件有什么问题? South 大部分时间都做得很好,但在这种情况下,它有时无法确定最佳行动方案。生成迁移,删除删除表操作,迁移,大功告成。它不会再次尝试删除它。
  • 我想可能会这样做.. anw 只是意识到有些东西需要注意,比如 contenttype 条目......

标签: django django-south


【解决方案1】:

如果数据库中没有更改,那么您可以为两个应用创建空迁移,其中曾经是这个模型,现在有这个模型:

./manage.py schemamigration app1 del_model1 --empty
./manage.py schemamigration app2 add_model1 --empty

南分析上次迁移中描述的模型,并根据此数据创建下一次迁移

【讨论】:

    猜你喜欢
    • 2012-10-04
    • 2014-02-08
    • 1970-01-01
    • 2013-10-06
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多