【问题标题】:“uninitialized class variable @@columns_cache” error during migration迁移期间出现“未初始化的类变量@@columns_cache”错误
【发布时间】:2020-02-24 13:33:13
【问题描述】:

所以我正在迁移以删除不必要的列

[:table_name_1, :table_name_2, :table_name_3, :table_name_4].each do |tables|
  remove_column tables, :column_name_here
end

当我使用时

rake db:migrate --trace

我得到了这样的东西

 ==  RemoveColumntsFromDB: migrating ========================================
    -- remove_column(:table_name_1, :column_name_here)
    rake aborted!
    An error has occurred, all later migrations canceled:

    uninitialized class variable @@columns_cache in ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.2.4/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:936:in `clear_table_columns_cache'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.2.4/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:1143:in `remove_column'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/migration.rb:352:in `send'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/migration.rb:352:in `method_missing'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/migration.rb:328:in `say_with_time'
    C:/Ruby/Ruby187/lib/ruby/1.8/benchmark.rb:293:in `measure'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/migration.rb:328:in `say_with_time'
    C:/Ruby/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/migration.rb:348:in `method_missing'

有人知道为什么吗?

【问题讨论】:

  • 请编辑问题并在正文中包含错误消息。这可以防止链接失效,您不应该期望 ppl 必须去其他地方才能了解您的问题的要点。
  • 是的,我知道。谢谢你。由于错误代码太多,我无法在此处插入完整错误”,因此发布了它的剪切版本。
  • 好像是数据库适配器的bug,你试过更新吗? Ruby 1.87 也是 2014 年的 EOL:Ed,所以你肯定需要升级。

标签: ruby-on-rails ruby migration database-migration rails-migrations


【解决方案1】:

这是数据库的问题。

它用于会话而不是基于 cookie 的默认设置,因为它是高度机密的信息。

所以rake db:sessions:create 修复了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2020-09-18
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多