Add a drop_multicolumn_constraint
operation
#487
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add a new
drop_multicolumn_constraint
operation type. The new operation is used to drop multi-column (and single-column)CHECK
,UNIQUE
, andFOREIGN KEY
constraints:The following migration drops a multi-column constraint called
check_zip_name
, and definesup
anddown
SQL data migrations for each column covered by the constraint:Start
each column covered by the constraint is duplicated, ignoring the constraint to be dropped. Triggers for data migrations are created for each column covered by the constraint using the SQL for each column from the migration file.Complete
, the duplicated column is renamed to the original name and triggers are removed.Validate
ensures that all columns covered by the constraint have data migrations defined, and only columns covered by the constraint have data migrations defined.The new operation is in addition to the existing
drop_constraint
operation which only drops single column constraints. This old operation type is preserved for backwards compatibility but will be removed as a breaking change before a v1 release.#489 tracks the removal of the
drop_constraint
operation.