避免Django迁移问题的技术?

时间:2017-07-25 15:20:15

标签: django postgresql django-migrations

我正在使用Django 1.8和PostgreSQL 9.4构建电子商务网站。我有兴趣了解在更改数据库时可以使用哪些技术以避免Django迁移出现问题,特别是在我无法运行迁移且我必须删除迁移的情况下,重建我的数据库,并从备份恢复。

在开发过程中,我发现当我更改数据库架构并重新运行迁移时,它们只能在大约50%的时间内成功运行。显然,我做错了。更糟糕的是,当迁移不起作用时,并不总是很容易理解它们失败的确切原因以及如何修改我的迁移文件以便它们运行。在这些情况下,我总是要删除数据库并重新开始。这在开发中是可以接受的,但在我投入生产时它并不是一个好的策略。

有哪些"最佳做法"或者"做什么,不要"在修改模型类/数据库模式时遵循以便增加Django迁移运行的可能性?您是否采取了任何措施来确保在迁移未能运行且必须从头开始重建数据库的情况下还原数据库?我应该补充一点,我是一个一个人的创业公司,所以我不会遇到一个团队在相同代码库中工作的冲突问题。

1 个答案:

答案 0 :(得分:0)

这些技术就是我正在使用的

  1. 在我在服务器上工作的同一环境中本地工作。相同版本的Django和数据库服务器然后推送迁移本身,不要忽略它,并使用迁移在服务器上迁移。
  2. 我曾经使用过一次手动迁移,我手动使用sql命令创建了表,索引,关系,它也正常工作。
  3. 我更喜欢第一个