Method: ActiveRecord::ConnectionAdapters::DatabaseStatements#insert_fixture
- Defined in:
- lib/active_record/connection_adapters/abstract/database_statements.rb
#insert_fixture(fixture, table_name) ⇒ Object
Inserts the given fixture into the table. Overridden in adapters that require something beyond a simple insert (eg. Oracle).
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 |
# File '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 |