PGError:错误:关系"用户"不存在 - Rails教程第2版第9章Heroku

Bre*_*ers 3 heroku pg railstutorial.org ruby-on-rails-3.2

在使用rake任务填充数据库时,Hartl的Rails教程(第2版)第9章末尾遇到了错误.结束了它,但不知道出了什么问题.如果有其他人遇到这个错误,这就是我所做的.如果有人知道出了什么问题,请发表评论 - 我很想知道.谢谢!

跑这些命令

$ 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
Run Code Online (Sandbox Code Playgroud)

然后,得到了这个错误:

rake aborted!
PGError: ERROR:  relation "users" does not exist
:             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
              FROM pg_attribute a LEFT JOIN pg_attrdef d
                ON a.attrelid = d.adrelid AND a.attnum = d.adnum
             WHERE a.attrelid = '"users"'::regclass
               AND a.attnum > 0 AND NOT a.attisdropped
             ORDER BY a.attnum

Tasks: TOP => db:populate
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

无法弄清楚出了什么问题.然后遇到这篇文章: Heroku Postgres错误:PGError:错误:关系"组织"不存在(ActiveRecord :: StatementInvalid)

从那以后,我只是运行这些命令:

heroku run rake db:reset
heroku run rake db:migrate
heroku run rake db:populate
Run Code Online (Sandbox Code Playgroud)

现在应用程序正在运行.我还不清楚为什么在重置SHARED_DATABASE时出现错误...如果有人知道,很想知道.

Jas*_*ble 7

你的步骤不正常.他们应该是:

$ 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
Run Code Online (Sandbox Code Playgroud)

帽子提示@rjz


小智 6

我有完全相同的问题,但已按正确的顺序执行命令.在所有rake命令之后必须运行以下命令然后它工作正常.

$ heroku restart
Run Code Online (Sandbox Code Playgroud)