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
PGError:ERROR:relation";“用户”;不存在-Rails教程第2版第9章Heroku_Heroku_Ruby On Rails 3.2_Railstutorial.org_Pg - Fatal编程技术网

PGError:ERROR:relation";“用户”;不存在-Rails教程第2版第9章Heroku

PGError:ERROR:relation";“用户”;不存在-Rails教程第2版第9章Heroku,heroku,ruby-on-rails-3.2,railstutorial.org,pg,Heroku,Ruby On Rails 3.2,Railstutorial.org,Pg,在Hartl的Rails教程(第二版)第9章末尾,使用rake任务填充db时遇到错误。最终解决了问题,但不确定出了什么问题。如果其他人碰到这个错误,我会这么做。如果有人知道出了什么问题,请发表评论——我很想知道。谢谢 运行这些命令 $ git push heroku $ heroku run rake db:migrate $ heroku pg:reset SHARED_DATABASE --confirm <name-heroku-gave-to-your-app> $ hero

在Hartl的Rails教程(第二版)第9章末尾,使用rake任务填充db时遇到错误。最终解决了问题,但不确定出了什么问题。如果其他人碰到这个错误,我会这么做。如果有人知道出了什么问题,请发表评论——我很想知道。谢谢

运行这些命令

$ git push heroku
$ heroku run rake db:migrate
$ heroku pg:reset SHARED_DATABASE --confirm <name-heroku-gave-to-your-app>
$ heroku run rake db:populate
不知道出了什么问题。然后我看到了这个帖子:

因此,我只运行了以下命令:

heroku run rake db:reset
heroku run rake db:migrate
heroku run rake db:populate

现在应用程序正在运行。我仍然不清楚为什么我在重置共享_数据库时出错。。。如果有人知道,我很想知道。

你的步骤有问题。它们应该是:

$ git push heroku
$ heroku pg:reset SHARED_DATABASE --confirm <name-heroku-gave-to-your-app>
$ heroku run rake db:migrate
$ heroku run rake db:populate
$git推送heroku
$heroku pg:重置共享_数据库--确认
$heroku运行rake数据库:迁移
$heroku run rake db:填充

@rjz的帽子提示

我遇到了完全相同的问题,但执行命令的顺序正确。在执行了所有rake命令之后,必须运行以下命令,然后才能正常工作

$ heroku restart

如果其他人遇到这种情况,则会出现具有相同症状的不同问题。如果您有一个未划分的表,该表也有一个在application.rb中设置的AR观察者,rake将不会加载,因为它尝试加载正在观察的基础模型。您必须迁移,然后将AR observer添加到application.rb。

调用
pg:reset
后调用
db:migrate
将清空数据库并重置所有迁移。第二次,当您在重置后迁移时,您试图填充的表实际上应该已经存在:^)rjz,您应该回答这个问题。啊,谢谢rjz。这是有道理的。你知道heroku pg:reset SHARED_DATABASE(重置共享数据库)和confirm(确认)之间的区别吗。。。和
heroku运行rake db:reset
?它们应该是相同的。我在heroku上的db:reset出现错误。首先执行重置以删除所有表并从头开始。db:migrate以运行迁移。db:填充以添加示例数据。在您的开发中,运行db:test:prepare将db表(而不是数据)复制到测试环境中。存在相同的问题,但在dev w/pg中。使用了EricM对db:test:prepare的建议。问题解决了。看看如果那是生产数据库。。。无法重置=S$heroku run rake db:migrate$heroku restart您可以开始了。
$ heroku restart