从 Rails 4 升级到 6:未初始化常量 ActiveRecord::ConnectionAdapters::SchemaCache

Upgraded from Rails 4 to 6: uninitialized constant ActiveRecord::ConnectionAdapters::SchemaCache

我将一个相当旧的应用程序从 rails 4.2 升级到 6.1.3.1。该应用程序在本地运行良好,但是当我尝试使用 capistrano 将其部署到我的服务器时,出现以下错误。它指出

NameError: uninitialized constant ActiveRecord::ConnectionAdapters::SchemaCache 
     ** Did you mean?  ActiveRecord::Schema

当 运行 bundle exec rake assets:precompile 通过 capistrano 或在服务器上手动执行时,会发生这种情况。我试过在 application.rb 中设置一些标志,例如:

config.assets.initialize_on_precompile = false

但这并没有解决问题。我觉得我已经用尽了我的知识和搜索技巧。有人可以帮我指出正确的方向吗?

  * executing "cd -- /home/user/app_rails6/releases/20210419123208 && RAILS_ENV=staging RAILS_GROUPS=assets bundle exec rake assets:precompile"
  * executing command
 ** rake aborted! 
 ** NameError: uninitialized constant ActiveRecord::ConnectionAdapters::SchemaCache 
 ** Did you mean?  ActiveRecord::Schema
 **  
 ** /home/user/app_rails6/shared/bundle/ruby/2.6.0/gems/activerecord-6.1.3.1/lib/active_record/railtie.rb:139:in `block (3 levels) in <class:Railtie>'
 **  
 ** /home/user/app_rails6/shared/bundle/ruby/2.6.0/gems/activesupport-6.1.3.1/lib/active_support/lazy_load_hooks.rb:71:in `class_eval'
 **  
 ** /home/user/app_rails6/shared/bundle/ruby/2.6.0/gems/activesupport-6.1.3.1/lib/active_support/lazy_load_hooks.rb:71:in `block in execute_hook'
 ** /home/user/app_rails6/shared/bundle/ruby/2.6.0/gems/activesupport-6.1.3.1/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
------trace truncated by author------

更新:

更新:当我使用一个使用sqlite作为数据库的环境时,命令运行正常。当我使用使用 postgres 作为数据库的环境时,出现错误。

原来 Rails 中存在错误,现在已在 6.1.3.1(6-1-稳定分支)上修复。

我仍然遇到一个稍微不同的错误,但这个错误已经解决了。