【发布时间】:2017-05-21 01:29:37
【问题描述】:
我在本地有一个运行良好的项目。我使用postresql。 好的。我在本地的 postgres 中创建了另一个数据库,并在项目的 settings.py 中指定了新的名称/用户/密码。 当我这样做时
$ python manage.py makemigrations
我得到错误
relation 'report_person' not exist
我已经尝试删除(而不是删除)目录“迁移”。删除 pycache。我尝试将 Sqlite3 指定为数据库 - 但同样的错误。
我为什么要问? 我的项目不想使用另一个数据库) 我成功地在heroku上推送了项目。在 settings.py 中指定参数。创建postgresql。但我不能在heroku上进行迁移)同样的错误。 在推送heroku之前我做了makemigrations和git commit,但没有结果 请帮帮我。 谢谢 祝你有美好的一天!
【问题讨论】:
-
您可以尝试在所有迁移中运行“python manage.py migrate”而不是“python manage.py makemigrations”吗?我想你已经有了所有的迁移,你需要应用它们,而不是创建新的。
-
@OleksandrDashkov 是的,我尝试使用我的数据库成功运行 makemigrations。在 settings.py 中更改数据库后 在新数据库中运行迁移后 - 同样的错误。我尝试在新数据库中将表创建为“report_person”,但出现错误“report_person 的权限被拒绝”这很神奇)
-
您的迁移中是否创建了“report_person”?
-
@OleksandrDashkov 哦,好的。我理解这个问题。删除迁移成功后,我在 forms.py 中有一个 PersonForm。我的回答中包含此表格的文本。我在这个问题上没有明确说明。
标签: python django postgresql heroku migrate