Heroku迁移:PG ::错误:错误:关系“角色”不存在

时间:2012-08-01 17:51:55

标签: ruby-on-rails postgresql heroku migration

当我运行命令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。

有人可以给我一些建议,如何解决这个问题?

非常感谢

1 个答案:

答案 0 :(得分:2)

在Heroku上限制rails rake命令。您可以使用'heroku pg'来操纵数据库。 'heroku pg help'查看所有可用命令。

尝试

heroku pg:reset SHARED_DATABASE

然后:heroku运行rake db:migrate

然后重启:heroku restart