3

当我运行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:resetor heroku restart,但没有帮助我。

我在应用中使用的 RoR & PostgreSQL 版本是

gem 'rails', '3.2.1'
gem 'pg', '~> 0.13.2'

在 localhost 上一切正常,但由于这个错误,我可以将我的数据库迁移到 Heroku。

谁能给我一些建议,如何解决这个问题?

太感谢了

4

1 回答 1

2

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

尝试

heroku pg:reset SHARED_DATABASE

然后:heroku 运行 rake db:migrate

然后重启:heroku restart

于 2012-08-01T18:06:29.340 回答