Heroku迁移:PG :: Error:ERROR:关系“roles”不存在

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:reset或者heroku restart,但是都没有帮助。

我使用的应用中的RoR和PostgreSQL版本为

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

本地主机运行一切正常,但由于这个错误,我无法将数据库迁移到Heroku。

请问有人能给我一些建议如何解决这个问题吗?

非常感谢。

1个回答

2

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

尝试一下:

heroku pg:reset SHARED_DATABASE

接着:heroku run rake db:migrate

然后重启:heroku restart


你的数据库以前工作过,现在不工作了吗?还是从一开始就没有工作? - pmwood
你在执行pg:reset命令时是否遇到了上述错误?或者pg:reset成功执行,但在执行db:migrate时出现了相同的错误? - pmwood
Heroku上的数据库无法工作。成功执行了“heroku pg:reset SHARED_DATABASE”。然后当我运行“heroku run rake migrate”时,我再次遇到了相同的错误。 - user984621
似乎你尝试运行的迁移存在问题,可能是它们被调用的顺序。你可以发布一下你的迁移文本吗? - pmwood
你能看到跟踪输出吗?(我不确定你的意思是什么) - user984621
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接