diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2015-09-20 12:58:16 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2015-09-20 12:58:16 -0700 |
commit | 2395b02144cf11f9c9c2429c2085e557b6b342fe (patch) | |
tree | 4ad411643210a2e698ef2e9cee1dba2cc803fee3 /activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | |
parent | 99c8c8df1a7cfe452177d33cd4ca9a0ee4a05cf4 (diff) | |
parent | fdf371ab0697d43c7eec66418edda9017be9b75b (diff) | |
download | rails-2395b02144cf11f9c9c2429c2085e557b6b342fe.tar.gz rails-2395b02144cf11f9c9c2429c2085e557b6b342fe.tar.bz2 rails-2395b02144cf11f9c9c2429c2085e557b6b342fe.zip |
Merge pull request #20009 from kamipo/foreign_keys_in_create
Support for foreign keys in create table
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index 035637f7ab..220ac08990 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -260,10 +260,6 @@ module ActiveRecord end end - td.foreign_keys.each_pair do |other_table_name, foreign_key_options| - add_foreign_key(table_name, other_table_name, foreign_key_options) - end - result end @@ -792,15 +788,7 @@ module ActiveRecord def add_foreign_key(from_table, to_table, options = {}) return unless supports_foreign_keys? - options[:column] ||= foreign_key_column_for(to_table) - - options = { - column: options[:column], - primary_key: options[:primary_key], - name: foreign_key_name(from_table, options), - on_delete: options[:on_delete], - on_update: options[:on_update] - } + options = foreign_key_options(from_table, to_table, options) at = create_alter_table from_table at.add_foreign_key to_table, options @@ -868,6 +856,13 @@ module ActiveRecord "#{name.singularize}_id" end + def foreign_key_options(from_table, to_table, options) # :nodoc: + options = options.dup + options[:column] ||= foreign_key_column_for(to_table) + options[:name] ||= foreign_key_name(from_table, options) + options + end + def dump_schema_information #:nodoc: sm_table = ActiveRecord::Migrator.schema_migrations_table_name |