instance method
remove_foreign_key
Ruby on Rails 5.2.8.1
Since v4.2.9Signature
remove_foreign_key(from_table, options_or_to_table = {})
Removes the given foreign key from the table. Any option parameters provided will be used to re-add the foreign key in case of a migration rollback. It is recommended that you provide any options used when creating the foreign key so that the migration can be reverted properly.
Removes the foreign key on accounts.branch_id.
remove_foreign_key :accounts, :branches
Removes the foreign key on accounts.owner_id.
remove_foreign_key :accounts, column: :owner_id
Removes the foreign key named special_fk_name on the accounts table.
remove_foreign_key :accounts, name: :special_fk_name
The options hash accepts the same keys as SchemaStatements#add_foreign_key.
Parameters
-
from_tablereq -
options_or_to_tableopt = {}
Source
# File activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb, line 988
def remove_foreign_key(from_table, options_or_to_table = {})
return unless supports_foreign_keys?
fk_name_to_delete = foreign_key_for!(from_table, options_or_to_table).name
at = create_alter_table from_table
at.drop_foreign_key fk_name_to_delete
execute schema_creation.accept(at)
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb line 988
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::SchemaStatements