aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-06-11 17:26:51 +0200
committerYves Senn <yves.senn@gmail.com>2014-06-26 22:03:49 +0200
commit31e4c19331c9262574d354250675bba7dcf9dba2 (patch)
treeda9d03e5fc42c874f42fbdd68e9a5fc798bbd260 /activerecord/lib/active_record
parent0938d5305758dfcbec4e813c777bb627e82a5906 (diff)
downloadrails-31e4c19331c9262574d354250675bba7dcf9dba2.tar.gz
rails-31e4c19331c9262574d354250675bba7dcf9dba2.tar.bz2
rails-31e4c19331c9262574d354250675bba7dcf9dba2.zip
fk: `add/remove_foreign_key` are noop for adapters that don't support fk
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb4
1 files changed, 4 insertions, 0 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 5a863717e5..4da42717c1 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -647,6 +647,8 @@ module ActiveRecord
end
def add_foreign_key(from_table, to_table, options = {})
+ return unless supports_foreign_keys?
+
options[:column] ||= foreign_key_column_for(to_table)
primary_key = options.fetch(:primary_key, "id")
@@ -664,6 +666,8 @@ module ActiveRecord
end
def remove_foreign_key(from_table, options_or_to_table = {})
+ return unless supports_foreign_keys?
+
if options_or_to_table.is_a?(Hash)
options = options_or_to_table
else