ruby-on-rails - Heroku - 不起作用 "rake"命令:PG::错误:错误:关系 "roles"不存在

标签 ruby-on-rails ruby heroku migration rake

当我运行 heroku run rake db:migrate 时,我会得到这个错误:

rake aborted!
PG::Error: ERROR:  relation "roles" does not exist
LINE 4:              WHERE a.attrelid = '"roles"'::regclass
                                        ^
:             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

我也尝试过重置数据库:heroku run rake db:reset 但我遇到了与上述相同的错误。看起来命令 heroku rake 不起作用。此外,我已经尝试将我的整个本地数据库移动到 Heorku - heroku db:push - 这正在工作。但我需要运行我的迁移。

最佳答案

这是您在运行 Rolify 和迁移时会看到的常见错误。

您需要检查您的 Rolify 初始化文件 config/initializers/rolify.rb。如果命令 config.use_dynamic_shortcuts 未被注释,则对其进行注释。推送您的更改,然后运行 ​​rake db:migrate。成功迁移后,您可以返回并取消注释该行。

问题是 rails 加载初始化文件,如果数据库尚未迁移,use_dynamic_shortcuts 将抛出错误。

关于ruby-on-rails - Heroku - 不起作用 "rake"命令:PG::错误:错误:关系 "roles"不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672229/

相关文章:

ruby-on-rails - Rails Mongoid 无法验证 - 失败并出现错误 13 : "not authorized for query on my_db.my_collection"

ruby - 从 ruby​​ 中的字符串中删除空行

ruby-on-rails - 同一类中包含具有相同方法名称的两个模块

git - 我应该提交 Godeps/_workspace 还是 Godeps.json 就足够了?

ruby-on-rails-3 - Heroku 和 Rails - Varnish HTTP 缓存不起作用

ruby-on-rails - Rails,如何测试缺少参数的 400 响应

ruby-on-rails - 1 个 Heroku dyno 上有多少个 Rails 应用程序?

ruby-on-rails - 链接对象上的自定义操作

html - 使用 Ruby,从 JSON 响应中的 HTML 字符串中获取值

ruby-on-rails - 您正在尝试在 heroku-20 上安装 ruby​​-2.6.3