diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-16 14:56:29 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-16 14:56:29 +0900 |
commit | 6572175d4decf22dd2116c873647ddacb7e48b85 (patch) | |
tree | e72d0973cf799738e896d879ad1fcd84d0b855a5 | |
parent | 850e6aaad9c276d1b84708448221eb3becf0b917 (diff) | |
download | rails-6572175d4decf22dd2116c873647ddacb7e48b85.tar.gz rails-6572175d4decf22dd2116c873647ddacb7e48b85.tar.bz2 rails-6572175d4decf22dd2116c873647ddacb7e48b85.zip |
Refactor `remove_foreign_key` to delete the foreign key before `alter_table`
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb index 0a637d81fa..bd649451d6 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb @@ -74,10 +74,8 @@ module ActiveRecord fk_to_table == table && options.all? { |k, v| fk.options[k].to_s == v.to_s } end || raise(ArgumentError, "Table '#{from_table}' has no foreign key for #{to_table}") - alter_table(from_table, foreign_keys) do |definition| - fk_to_table = strip_table_name_prefix_and_suffix(fkey.to_table) - definition.foreign_keys.delete([fk_to_table, fkey.options]) - end + foreign_keys.delete(fkey) + alter_table(from_table, foreign_keys) end def create_schema_dumper(options) |