当我运行命令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。
有人能给我一些建议,如何解决这个问题吗?
非常感谢你
最佳答案
rails rake命令在Heroku上受到限制。您可以使用“heroku pg”来操作数据库heroku pg help'查看所有可用命令。
尝试
heroku pg:reset SHARED_DATABASE
然后:heroku运行rake db:migrate
然后重新启动:heroku重新启动