我正在用Django 1.8和PostgreSQL 9.4建立一个电子商务网站。我有兴趣了解在更改数据库时可以使用哪些技术,以避免Django迁移出现问题,特别是在无法迁移运行的情况下,我必须删除迁移,重建数据库以及从备份中恢复。避免Django迁移问题的技巧?
在发展中,我发现,当我改变我的数据库架构和重新运行迁移,他们只运行的时间成功地约50%。很明显,我做错了一些事情。更糟糕的是,当迁移不起作用时,并不总是很容易明白为什么他们失败了,以及如何修改我的迁移文件以便它们能够运行。在这些情况下,我总是必须删除数据库并重新开始。这在开发中是可以接受的,但是当我投入生产时这不是一个好策略。
什么是一些“最佳做法”或“该做什么和不该做什么”你当你修改模型类/数据库模式,以增加你的Django迁移将运行的概率遵循?是否有任何步骤可以确保您可以在您的迁移无法运行并且必须从头重建数据库的情况下恢复数据库?我应该补充一点,我是一个人的创业公司,所以我没有使用相同代码库开展工作的团队会遇到的冲突问题。
你应该张贴一些什么错误,你有移民得到的例子。 –
这是一个好主意,我会,但不幸的是,我没有记录他们,我重建我的数据库之前。 – William
它太宽泛了,就像你可以做假迁移一样,你可以自己编辑迁移文件来解决错误。然后你可以有空的字段来避免默认值错误。然后另一个选择是备份dB然后迁移然后重新加载dB。 @William还有一个想法是,我不同意下面的答案,我认为这是一个可怕的想法 –