我的新迁移将破坏heroku上的数据库(postgres)

问题描述 投票:1回答:1

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

现在heroku网站已经投入生产,因此有用户信息。我应该如何处理这个问题,我是否需要销毁现有数据库并创建一个新数据库并运行迁移

django heroku django-models django-migrations
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.