【发布时间】:2017-12-31 15:01:09
【问题描述】:
我正在使用 Django 1.8 和 PostgreSQL 9.4 构建一个电子商务网站。我有兴趣了解在更改数据库时可以使用哪些技术以避免 Django 迁移出现问题,特别是在我无法运行迁移并且我必须删除我的迁移、重建我的数据库以及从备份中恢复。
在开发过程中,我发现当我更改数据库架构并重新运行迁移时,它们只有大约 50% 的时间成功运行。显然我做错了一些事情。更糟糕的是,当迁移不起作用时,要准确理解它们失败的原因以及如何修改我的迁移文件以便它们能够运行并不总是那么容易。在这些情况下,我总是必须删除数据库并重新开始。这在开发中是可以接受的,但在我投入生产时这不是一个好的策略。
当您修改模型类/数据库架构以增加 Django 迁移运行的可能性时,您遵循哪些“最佳实践”或“注意事项”?如果迁移无法运行并且您必须从头开始重建数据库,您是否采取了任何步骤来确保可以恢复数据库?我应该补充一点,我是一家单人创业公司,因此我不会遇到使用相同代码库的团队会遇到的冲突问题。
【问题讨论】:
-
您应该发布一些示例,说明您在迁移时会遇到哪些错误。
-
这是个好主意,我会的,但不幸的是我在重建数据库之前没有记录它们。
-
它太宽泛了,你可以做假迁移,你可以自己编辑迁移文件来解决错误。然后,您可以使用可为空的字段来避免默认值错误。然后另一种选择是备份 dB 然后迁移然后重新加载 dB。 @William 还有一个想法是我不同意下面的答案,我认为这是一个可怕的想法
-
您目前的工作流程是什么?
-
我正在根据我最近遇到的问题整理一个新的工作流程。收到更多反馈后,我会在另一天左右与大家分享。
标签: django postgresql django-migrations