Kap*_*ngh 3 django postgresql heroku heroku-postgres
我在 Heroku 上部署了一个学习项目。它提供了一个 Postgres 数据库。我在 Django 项目的模型中引入了一些重大更改,并销毁了旧数据库并提供了一个新数据库,该数据库完全为空,但它不像空数据库那样工作。
当我运行命令时heroku run python manage.py makemigrations,我收到错误消息
您正在尝试添加不可为空的字段....
当我销毁旧数据库时,为什么会收到此消息?
首先,你永远不应该manage.py makemigrations在 Heroku 上运行。
到您的代码到达那里时,不应存在模型更改来生成新的迁移。在makemigrations 本地运行以创建迁移文件。在migrate本地和 Heroku 上运行以将迁移应用到您的数据库。
既然已经解决了,这很可能是由现有的迁移文件引起的,而不是数据库中的任何内容。如果你真的想重新开始,你可以从你的每个应用程序migrations/目录中删除文件。
最后,无需销毁和重新配置您的数据库来重置它。相反,您可以使用heroku pg:reset:
分配给您的数据库的 PostgreSQL 用户无权创建或删除数据库。要删除并重新创建您的数据库,请使用
pg:reset.
| 归档时间: |
|
| 查看次数: |
2844 次 |
| 最近记录: |