我有一个 Django 应用程序。我有包含测试数据的 .json 固定文件,以及使用数据确认应用程序正常工作的单元测试。我还使用 South 来迁移我的数据库。
在进行了几次数据库迁移后,我的固定装置已过时,因为数据库已迁移,例如添加了新的数据库列,而固定装置数据没有该列,因为它是在数据库之前捕获的改变了。
在迁移数据库时,推进我的赛程的最佳方式是什么?
最佳答案
这是我使用的过程:
将代码回滚到最初创建 fixture 的修订版。例如:
svn up -r12345
。清空数据库,然后使用
创建它manage.pysyncdb --noinput --migrate
使用
加载装置manage.py loaddata my_fixture.json
使用
svn up
将代码前滚到现在使用
manage.py migrate
迁移数据库使用
manage.py dumpdata --indent=2 myapp >my_fixture.json
转储数据
请注意,在选择要回滚到的过去版本时需要小心。就我而言,我最近需要进行一些修复,因此我实际上必须选择目录来回滚到特定修订。虽然很乏味,但比手动编辑 9,000 行 JSON 文件要好。
此外,在第 6 步中,请务必转储正确的应用程序集。
将来,当我编写迁移时,我可以再次执行这些步骤以使所有装置保持最新。
关于django - 迁移 Django 装置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002322/