【问题标题】:My new migration will brake my database on the heroku (postgres)我的新迁移将破坏我在 heroku (postgres) 上的数据库
【发布时间】:2019-08-27 19:52:49
【问题描述】:

我在这里面临挑战。所以我继承了以前开发人员的模型,并且表格没有正确构建。我添加了一些约束和新表以规范化这些表。在将应用程序推送到 heroku 之前,我在本地机器上对其进行了测试,它实际上破坏了我的数据库。

现在heroku网站已经在制作中,所以有用户信息。我应该如何解决这个问题,我是否需要销毁现有数据库并创建一个新数据库并运行迁移

【问题讨论】:

  • 在编写迁移时务必小心,以免它们破坏您的数据库。如果这是不可能的,你将不得不找出你自己的策略。我们对您的业务需求、应用程序、数据库结构或其他任何事情一无所知。

标签: django heroku django-models django-migrations


【解决方案1】:

要非常非常小心。如果您不小心,在生产服务器上应用迁移可能会造成不可逆转的损害,因此您应该为所有可能的情况做好准备。

我最好的建议是为您的实时数据库创建一个完整的副本(使用 Heroku,这就像 PG 转储/备份一样简单)。然后,您可以使用相同的代码创建一个新的暂存站点,将备份上传到一个新的数据库实例中,然后对其进行测试。实时环境并不总是与本地环境相同。然后,您可以在暂存站点上运行迁移,并查看是否有任何意外影响(最好的方法是使用 django 测试用例)。如果有任何问题,请务必了解回滚过程如何与 django 迁移一起使用。

可以在这里找到一个相当新的好教程:https://realpython.com/django-migrations-a-primer/

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2017-05-19
    • 1970-01-01
    • 2011-09-04
    • 2021-10-16
    • 2015-09-10
    • 2017-03-03
    • 2014-07-10
    • 1970-01-01
    相关资源
    最近更新 更多