我已经更新了模型,但是无法进行迁移,问题是:
我遇到类似column "blah blah" of relation "blah blah blah" already exists
的错误
提到的列应存在于数据库中,但不应存在于迁移文件中,因为我没有对该模型字段进行任何添加或修改,并且它已经在以前的迁移之一中成功创建,甚至在没有迁移的情况下也经常使用任何错误。
当我使用--fake进行迁移时,这一次它不会创建该模型更新定义的迁移文件中真正不存在的字段。
部署在Heroku上,可能是由于代码层的回滚所致,因为回滚后的代码会恢复到较旧的版本,但数据库保持不变。
不丢失生产数据库中任何数据的最佳方法是什么?
以下是bash的屏幕截图;在之前的成功迁移之一中创建的迁移之前,模型和数据库上的时区,结束时间和开始时间字段已经存在
Click here to screenshot of Heroku Bash when I try to run migrations
谢谢
答案 0 :(得分:0)
您不应该在Heroku上运行makemigrations。 本地,然后提交结果,进行部署,然后仅运行迁移。
实际上,您已经完全不同步;如果您不需要保留任何数据,那么最简单的方法就是删除数据库并重新启动。