Implement the 'change column type' operation #74
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.
Implement the change column type operation. A change type migration looks like this:
This migration changes the type of the
rating
column fromTEXT
toINTEGER
.The implementation is very similar to the set NOT NULL operation (#63):
Start
:up
SQL.up
.down
.Complete
Rollback
The migration can fail in at least 2 ways:
Start
fails due to the type conversion not being possible on one or more rows. In the above example, any existing rows withrating
values not representable as anINTEGER
will cause a failure onStart
.up
trigger will fail to convert the values and theINSERT
/UPDATE
will fail.The PR also adds example migrations to the
/examples
directory.