当我运行命令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:resetheroku 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重新启动

10-04 15:40
查看更多