Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django迁移不推动Heroku_Django_Heroku_Django Models_Heroku Postgres - Fatal编程技术网

Django迁移不推动Heroku

Django迁移不推动Heroku,django,heroku,django-models,heroku-postgres,Django,Heroku,Django Models,Heroku Postgres,我更新了Django博客,使用slug URL/而不是id/。我还向文章模型添加了一个slugField,并将所有HREF转换为Article.slug。运行了迁移,在本地一切正常。然而,当我推到Heroku时,我犯了一个错误 这就是我试图保存一篇新文章时发生的情况 ProgrammingError at /admin/articles/article/ column articles_article.slug does not exist LINE 1: ...ticles_article"

我更新了Django博客,使用slug URL
/
而不是id
/
。我还向文章模型添加了一个slugField,并将所有HREF转换为
Article.slug
。运行了迁移,在本地一切正常。然而,当我推到Heroku时,我犯了一个错误

这就是我试图保存一篇新文章时发生的情况


ProgrammingError at /admin/articles/article/
column articles_article.slug does not exist
LINE 1: ...ticles_article"."id", "articles_article"."title", "articles_...
                                                             ^
Request Method: GET
Request URL:    https://***********.herokuapp.com/admin/articles/article/
Django Version: 2.1.4
Exception Type: ProgrammingError
Exception Value:    
column articles_article.slug does not exist
LINE 1: ...ticles_article"."id", "articles_article"."title", "articles_...
                                                             ^


我检查了我的Heroku Postgress数据库,发现即使我进行了迁移,也没有添加新的slug列。我不确定下一步该怎么办。我目前正在寻找手动更新heroku postgress的方法,但如果有一种侵入性较小的方法来解决这个问题,我洗耳恭听

您是否先进行迁移,然后再进行迁移?你在上面的评论中提到了这一点。另外,您确定已将迁移应用于生产数据库吗?它需要在migrate命令中添加一个设置标志,以指向生产设置/db位置

您是否先进行迁移,然后再进行迁移?你在上面的评论中提到了这一点。另外,您确定已将迁移应用于生产数据库吗?它需要在migrate命令中添加一个设置标志,以指向生产设置/db位置

首先验证迁移是否已执行(heroku)

如果找不到,请确保已更新迁移(本地)

在db生产环境中运行迁移(heroku)


首先验证迁移是否已执行(heroku)

如果找不到,请确保已更新迁移(本地)

在db生产环境中运行迁移(heroku)


您是否正确迁移了数据库?(因此
manage.py migrate
?)是的。我做了
python manage.py迁移
makemigrations
。在推到heroku之前,第二次进行了很好的测量。您在heroku上运行迁移了吗
heroku运行
python manage.py migrate
(提交并部署由
migrate
生成的新迁移文件后)?您的本地数据库和Heroku数据库不同,需要分别迁移它们。(请注意,您不应该在Heroku上运行
makemigrations
。这只是在本地发生的。)好的,所以我一直认为,在最初的推送之后,我不应该为Heroku执行migraine或进行迁移。为什么迁移对heroku是安全的,而makemigrations不是?因为makemigrations,顾名思义,会生成迁移文件。这些是代码库的一部分。您可以在本地创建它们,并将它们添加到git回购中。然后将代码推送到Heroku,之后需要将它们实际应用到数据库中,这是通过在Heroku上运行migrate来实现的。您正确迁移了数据库吗?(因此
manage.py migrate
?)是的。我做了
python manage.py迁移
makemigrations
。在推到heroku之前,第二次进行了很好的测量。您在heroku上运行迁移了吗
heroku运行
python manage.py migrate
(提交并部署由
migrate
生成的新迁移文件后)?您的本地数据库和Heroku数据库不同,需要分别迁移它们。(请注意,您不应该在Heroku上运行
makemigrations
。这只是在本地发生的。)好的,所以我一直认为,在最初的推送之后,我不应该为Heroku执行migraine或进行迁移。为什么迁移对heroku是安全的,而makemigrations不是?因为makemigrations,顾名思义,会生成迁移文件。这些是代码库的一部分。您可以在本地创建它们,并将它们添加到git回购中。然后你将代码推送到Heroku,然后你需要将它们实际应用到数据库中,你可以通过在Heroku上运行migrate来完成。它的顺序是正确的。它的顺序是正确的。在阅读了关于django和Heroku迁移的其他线程之后,我一直觉得我不应该在Heroku上进行迁移。在尝试此操作之前,有什么我应该知道的吗?在更改生产数据库之前,请进行备份。这将允许反向更改。你应该一直这样做以避免任何信息的丢失谢谢。成功了!在阅读了关于django和heroku迁移的其他文章之后,我一直觉得我不应该在heroku上进行迁移。在尝试此操作之前,有什么我应该知道的吗?在更改生产数据库之前,请进行备份。这将允许反向更改。你应该一直这样做以避免任何信息的丢失谢谢。成功了!
verify that the last migration of the article model is in the django_migrations table
python manage.py makemigrations
heroku run python manage.py migrate