fix: Correctly Generate DDL for ALTER COLUMN ... SET DEFAULT #726
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.
Alembic expects
get_column_default_stringto be implemented in order to use it forALTER TABLE.. ALTER COLUMN .. SET DEFAULTDDL. In our case, this means wrapping the default value in parentheses. We implementget_column_default_stringand have it add parentheses for use in bothCREATE TABLEandALTER TABLEDDL.Call path for alembic relying on
get_column_default_stringis here:https://github.com/sqlalchemy/alembic/blob/cd4f404358f101b2b930013c609c074baca61468/alembic/ddl/base.py#L252 https://github.com/sqlalchemy/alembic/blob/cd4f404358f101b2b930013c609c074baca61468/alembic/ddl/base.py#L315
Fixes: #727