insert_fixture(fixture, table_name)
public
Inserts the given fixture into the table. Overridden in adapters that
require something beyond a simple insert
(eg. Oracle).
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 289
def insert_fixture(fixture, table_name)
fixture = fixture.stringify_keys
columns = schema_cache.columns_hash(table_name)
key_list = []
value_list = fixture.map do |name, value|
if column = columns[name]
key_list << quote_column_name(name)
quote(value, column)
else
raise Fixture::FixtureError, %(table "#{table_name}" has no column named #{name.inspect}.)
end
end
execute "INSERT INTO #{quote_table_name(table_name)} (#{key_list.join(', ')}) VALUES (#{value_list.join(', ')})", 'Fixture Insert'
end