我的新迁移将使我的数据库停滞在heroku(postgres)上

时间:2019-04-05 21:07:20

标签: django heroku django-models django-migrations

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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