当我运行命令heroku run rake db:migrate
以将我的应用程序部署到Heroku时,我收到此错误:
PG::Error: ERROR: relation "roles" 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 = '"roles"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Tasks: TOP => db:reset => environment
(See full trace by running task with --trace)
此外,我尝试过heroku run rake db:reset
或heroku restart
,但没有帮助我。
RoR&我在应用程序中使用的PostgreSQL版本是
gem 'rails', '3.2.1'
gem 'pg', '~> 0.13.2'
在localhost上工作正常,但由于这个错误,我可以将我的数据库迁移到Heroku。
有人可以给我一些建议,如何解决这个问题?
非常感谢
答案 0 :(得分:2)
在Heroku上限制rails rake命令。您可以使用'heroku pg'来操纵数据库。 'heroku pg help'查看所有可用命令。
尝试
heroku pg:reset SHARED_DATABASE
然后:heroku运行rake db:migrate
然后重启:heroku restart