aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-06-26 13:09:45 +0200
committerYves Senn <yves.senn@gmail.com>2014-06-26 22:03:49 +0200
commit24e1aefb4b2d7b2b4babfd4bae1e9e613283b003 (patch)
tree6beccaf9f4abba40d53b6b6e269dcab118dc6f90 /activerecord/lib/active_record/connection_adapters/abstract
parent8768305f20d12c40241396092a63e0d56269fefe (diff)
downloadrails-24e1aefb4b2d7b2b4babfd4bae1e9e613283b003.tar.gz
rails-24e1aefb4b2d7b2b4babfd4bae1e9e613283b003.tar.bz2
rails-24e1aefb4b2d7b2b4babfd4bae1e9e613283b003.zip
fk: review corrections: indent, visibility, syntax, wording.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb36
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb17
2 files changed, 27 insertions, 26 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb
index 5d13ee3633..c1379f6bec 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_creation.rb
@@ -18,21 +18,6 @@ module ActiveRecord
add_column_options!(sql, column_options(o))
end
- def visit_AddForeignKey(o)
- sql = <<-SQL
-ADD CONSTRAINT #{quote_column_name(o.name)}
-FOREIGN KEY (#{quote_column_name(o.column)})
- REFERENCES #{quote_table_name(o.to_table)} (#{quote_column_name(o.primary_key)})
- SQL
- sql << " #{action_sql('DELETE', o.on_delete)}" if o.on_delete
- sql << " #{action_sql('UPDATE', o.on_update)}" if o.on_update
- sql
- end
-
- def visit_DropForeignKey(name)
- "DROP CONSTRAINT #{quote_column_name(name)}"
- end
-
private
def visit_AlterTable(o)
@@ -58,6 +43,21 @@ FOREIGN KEY (#{quote_column_name(o.column)})
create_sql
end
+ def visit_AddForeignKey(o)
+ sql = <<-SQL.strip_heredoc
+ ADD CONSTRAINT #{quote_column_name(o.name)}
+ FOREIGN KEY (#{quote_column_name(o.column)})
+ REFERENCES #{quote_table_name(o.to_table)} (#{quote_column_name(o.primary_key)})
+ SQL
+ sql << " #{action_sql('DELETE', o.on_delete)}" if o.on_delete
+ sql << " #{action_sql('UPDATE', o.on_update)}" if o.on_update
+ sql
+ end
+
+ def visit_DropForeignKey(name)
+ "DROP CONSTRAINT #{quote_column_name(name)}"
+ end
+
def column_options(o)
column_options = {}
column_options[:null] = o.null unless o.null.nil?
@@ -108,9 +108,9 @@ FOREIGN KEY (#{quote_column_name(o.column)})
when :cascade then "ON #{action} CASCADE"
when :restrict then "ON #{action} RESTRICT"
else
- raise ArgumentError, <<-MSG
-'#{dependency}' is not supported for :on_update or :on_delete.
-Supported values are: :nullify, :cascade, :restrict
+ raise ArgumentError, <<-MSG.strip_heredoc
+ '#{dependency}' is not supported for :on_update or :on_delete.
+ Supported values are: :nullify, :cascade, :restrict
MSG
end
end
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 e203767992..1789cce123 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -661,7 +661,7 @@ module ActiveRecord
at = create_alter_table from_table
at.add_foreign_key to_table, options
- execute schema_creation.accept at
+ execute schema_creation.accept(at)
end
def remove_foreign_key(from_table, options_or_to_table = {})
@@ -675,6 +675,7 @@ module ActiveRecord
fk_name_to_delete = options.fetch(:name) do
fk_to_delete = foreign_keys(from_table).detect {|fk| fk.column == options[:column] }
+
if fk_to_delete
fk_to_delete.name
else
@@ -685,19 +686,13 @@ module ActiveRecord
at = create_alter_table from_table
at.drop_foreign_key fk_name_to_delete
- execute schema_creation.accept at
+ execute schema_creation.accept(at)
end
def foreign_key_column_for(table_name) # :nodoc:
"#{table_name.to_s.singularize}_id"
end
- def foreign_key_name(table_name, options) # :nodoc:
- options.fetch(:name) do
- "fk_rails_#{SecureRandom.hex(5)}"
- end
- end
-
def dump_schema_information #:nodoc:
sm_table = ActiveRecord::Migrator.schema_migrations_table_name
@@ -908,6 +903,12 @@ module ActiveRecord
def create_alter_table(name)
AlterTable.new create_table_definition(name, false, {})
end
+
+ def foreign_key_name(table_name, options) # :nodoc:
+ options.fetch(:name) do
+ "fk_rails_#{SecureRandom.hex(5)}"
+ end
+ end
end
end
end