remove_foreign_key
![Moderate documentation Importance_2](https://d2vfyqvduarcvs.cloudfront.net/images/importance_2.png?1349367920)
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (38)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (25)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (21)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
remove_foreign_key(from_table, to_table = nil, **options)
public
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 on accounts.owner_id.
remove_foreign_key :accounts, to_table: :owners
Removes the foreign key named special_fk_name on the accounts table.
remove_foreign_key :accounts, name: :special_fk_name
Checks if the foreign key exists before trying to remove it. Will silently ignore indexes that don’t exist.
remove_foreign_key :accounts, :branches, if_exists: true
The options hash accepts the same keys as SchemaStatements#add_foreign_key with an addition of
- :to_table
-
The name of the table that contains the referenced primary key.