Method: ActiveRecord::ConnectionAdapters::SchemaStatements#foreign_key_options
- Defined in:
- activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
#foreign_key_options(from_table, to_table, options) ⇒ Object
:nodoc:
1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 |
# File 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb', line 1246 def (from_table, to_table, ) # :nodoc: = .dup if [:primary_key].is_a?(Array) [:column] ||= [:primary_key].map do |pk_column| foreign_key_column_for(to_table, pk_column) end else [:column] ||= foreign_key_column_for(to_table, "id") end [:name] ||= foreign_key_name(from_table, ) if [:column].is_a?(Array) || [:primary_key].is_a?(Array) if Array([:primary_key]).size != Array([:column]).size raise ArgumentError, " For composite primary keys, specify :column and :primary_key, where\n :column must reference all the :primary_key columns from \#{to_table.inspect}\n MSG\n end\n end\n\n options\nend\n".squish |