django - 迁移 Django 装置?

标签 django migration fixtures django-south

我有一个 Django 应用程序。我有包含测试数据的 .json 固定文件,以及使用数据确认应用程序正常工作的单元测试。我还使用 South 来迁移我的数据库。

在进行了几次数据库迁移后,我的固定装置已过时,因为数据库已迁移,例如添加了新的数据库列,而固定装置数据没有该列,因为它是在数据库之前捕获的改变了。

在迁移数据库时,推进我的赛程的最佳方式是什么?

最佳答案

这是我使用的过程:

  1. 将代码回滚到最初创建 fixture 的修订版。例如:svn up -r12345

  2. 清空数据库,然后使用 manage.pysyncdb --noinput --migrate

    创建它
  3. 使用 manage.py loaddata my_fixture.json

    加载装置
  4. 使用 svn up 将代码前滚到现在

  5. 使用 manage.py migrate 迁移数据库

  6. 使用 manage.py dumpdata --indent=2 myapp >my_fixture.json 转储数据

请注意,在选择要回滚到的过去版本时需要小心。就我而言,我最近需要进行一些修复,因此我实际上必须选择目录来回滚到特定修订。虽然很乏味,但比手动编辑 9,000 行 JSON 文件要好。

此外,在第 6 步中,请务必转储正确的应用程序集。

将来,当我编写迁移时,我可以再次执行这些步骤以使所有装置保持最新。

关于django - 迁移 Django 装置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002322/

相关文章:

python - 在不使用表单或模型的情况下验证 django 中的单个字段

Django 网址不匹配找不到页面

sql - 如何用SQL Server实现LIMIT?

mercurial - 如何在不丢失历史记录的情况下从一台 Mercurial 服务器迁移到另一台 Mercurial 服务器?

node.js - 我们可以通过 sequelize 使用迁移文件生成模型吗?

python - 原始查询和自定义 sql 查询最快的是什么?

python - Django 模型对象初始化

symfony - 如何在 DataFixture 类中执行学说查询?

javascript - 带有 iframe 的 Jasmine 装置

django - 在 Django 中使用 UTF-8 编码的 JSON fixture 文件