我有一个需要多表继承的 Rails 应用程序,我正在使用 CITIER gem,它本身需要 rails_sql_views gem 来生成表示对象的数据库视图。
到现在为止还挺好。所有这一切都像我使用 sqlite3 的本地机器上的魅力一样。但是,当我尝试将应用程序部署到 Heroku 时,我既无法执行数据库迁移,也无法访问 rails 控制台。
原因似乎是 rails_sql_views gem 试图访问一些声称不存在的 PostgreSQLAdapter 方法。但是,当我检查 rails 存储库的文件时,我可以在代码中找到这些方法。这里发生了什么?
当我尝试运行“heroku run rake db:migrate”时,我会得到以下错误跟踪:
Running rake db:migrate --trace attached to terminal... up, run.1 rake aborted!
undefined method `tables' for class `ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/module/aliasing.rb:31:in `alias_method'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/module/aliasing.rb:31:in `alias_method_chain'
/app/vendor/bundle/ruby/1.9.1/gems/rails_sql_views-0.8.0/lib/rails_sql_views/connection_adapters/postgresql_adapter.rb:5:in `included'
/app/vendor/bundle/ruby/1.9.1/gems/rails_sql_views-0.8.0/lib/rails_sql_views/loader.rb:12:in `include'
[....]