method

insert

Importance_0
Ruby on Rails latest stable (v7.1.3.2) - 0 notes - Class: FixtureSet
insert(fixture_sets, connection) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/fixtures.rb, line 663
        def insert(fixture_sets, connection) # :nodoc:
          fixture_sets_by_connection = fixture_sets.group_by do |fixture_set|
            if fixture_set.model_class
              fixture_set.model_class.connection
            else
              connection.call
            end
          end

          fixture_sets_by_connection.each do |conn, set|
            table_rows_for_connection = Hash.new { |h, k| h[k] = [] }

            set.each do |fixture_set|
              fixture_set.table_rows.each do |table, rows|
                table_rows_for_connection[table].unshift(*rows)
              end
            end

            conn.insert_fixtures_set(table_rows_for_connection, table_rows_for_connection.keys)

            check_all_foreign_keys_valid!(conn)

            # Cap primary key sequences to max(pk).
            if conn.respond_to?(:reset_pk_sequence!)
              set.each { |fs| conn.reset_pk_sequence!(fs.table_name) }
            end
          end
        end
Register or log in to add new notes.