diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-06-26 13:09:45 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-06-26 22:03:49 +0200 |
commit | 24e1aefb4b2d7b2b4babfd4bae1e9e613283b003 (patch) | |
tree | 6beccaf9f4abba40d53b6b6e269dcab118dc6f90 /activerecord/lib/active_record/connection_adapters/abstract | |
parent | 8768305f20d12c40241396092a63e0d56269fefe (diff) | |
download | rails-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.rb | 36 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 17 |
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 |