PGError:ERROR:relation";“用户”;不存在-Rails教程第2版第9章Heroku
在Hartl的Rails教程(第二版)第9章末尾,使用rake任务填充db时遇到错误。最终解决了问题,但不确定出了什么问题。如果其他人碰到这个错误,我会这么做。如果有人知道出了什么问题,请发表评论——我很想知道。谢谢 运行这些命令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
$ 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