【问题标题】:My django tests are not working due to order of south's schema migrations?由于南模式迁移的顺序,我的 django 测试无法正常工作?
【发布时间】:2011-10-04 05:49:17
【问题描述】:

当我跑步时

manage.py test myapp

它因这个错误而死

Creating test database for alias 'default'...
! Error found during real run of migration! Aborting.
_mysql_exceptions.OperationalError: (1005, "Can't create table 
   'test_dom.#sql-49b_1a1' (errno: 150)")

我正在使用south 处理架构迁移、django 1.3 和 mysql。

注意,当我单独配置项目时,我按顺序执行以下操作

  • 同步数据库
  • 迁移 app1
  • 迁移 app2
  • 迁移

最后一次迁移适用于所有其他应用。如果我不手动为前 2 个应用程序进行迁移;南方也会撞到我。

任何想法如何解决这个问题?

【问题讨论】:

    标签: python django


    【解决方案1】:

    你知道你可以在南迁移中定义依赖吗?

    http://south.aeracode.org/docs/dependencies.html

    如果您定义了依赖项,则单个“manage.py migrate”应该可以工作。如果不是,请发布错误消息。

    【讨论】:

      【解决方案2】:

      为什么要在 syncdb 之后进行迁移?在新创建的数据库之后,您确定没有迁移要做吗?

      还要注意南方设置:

      SKIP_SOUTH_TESTS = 真 SOUTH_TESTS_MIGRATE = 假

      【讨论】:

      猜你喜欢
      • 2021-11-14
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2021-12-02
      • 2020-10-19
      • 2017-10-05
      • 2020-03-15
      相关资源
      最近更新 更多