Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #9239: fixtures_using_correct_connection.patch

File fixtures_using_correct_connection.patch, 1.3 kB (added by theamazingrando, 1 year ago)
  • lib/active_record/fixtures.rb

    old new  
    282282    @table_name = class_name.table_name if class_name.respond_to?(:table_name) 
    283283    @connection = class_name.connection if class_name.respond_to?(:connection) 
    284284    read_fixture_files 
     285 
    285286  end 
    286287 
    287288  def delete_existing_fixtures 
     
    394395    end 
    395396 
    396397    @class_name = class_name 
     398    @connection = class_name.respond_to?(:connection) ? class_name.connection : ActiveRecord::Base.connection 
    397399  end 
    398400 
    399401  def each 
     
    409411  end 
    410412 
    411413  def key_list 
    412     columns = @fixture.keys.collect{ |column_name| ActiveRecord::Base.connection.quote_column_name(column_name) } 
     414    columns = @fixture.keys.collect{ |column_name| @connection.quote_column_name(column_name) } 
    413415    columns.join(", ") 
    414416  end 
    415417 
     
    418420 
    419421    list = @fixture.inject([]) do |fixtures, (key, value)| 
    420422      col = klass.columns_hash[key] if klass.respond_to?(:ancestors) && klass.ancestors.include?(ActiveRecord::Base) 
    421       fixtures << ActiveRecord::Base.connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r") 
     423      fixtures << @connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r") 
    422424    end 
    423425    list * ', ' 
    424426  end