diff options
author | Florian Floimair <f.floimair@commend.com> | 2017-09-05 18:13:19 +0200 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2017-09-08 11:48:00 -0500 |
commit | ad606844bec37c3c782580ff807e2d2f2d23feb2 (patch) | |
tree | abdc5bb99ddffbb8a2ed0733cdbb8eb12fda9a25 /contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py | |
parent | 9a366d24242a0fc1e7d04b8859ac5773193aa932 (diff) |
alembic: Add support for MS-SQL
MS-SQL has no native Enum-type support and therefore
needs to work with constraints.
Since these constraints need unique names the suggested approach
referenced in the following alembic documentation has been applied:
http://bit.ly/2x9r8pb
ASTERISK-27255 #close
Change-Id: I4a399ba3eed41a33ce8cb294968ad340221580ee
Diffstat (limited to 'contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py')
-rw-r--r-- | contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py b/contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py index 28ebc8b17..a1154a30e 100644 --- a/contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py +++ b/contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py @@ -11,19 +11,32 @@ revision = '5950038a6ead' down_revision = 'd39508cb8d8' from alembic import op +import sqlalchemy as sa from sqlalchemy.dialects.postgresql import ENUM YESNO_NAME = 'yesno_values' YESNO_VALUES = ['yes', 'no'] - def upgrade(): yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False) - op.alter_column('ps_transports', 'verifiy_server', type_=yesno_values, - new_column_name='verify_server') + + if op.get_context().bind.dialect.name != 'mssql': + op.alter_column('ps_transports', 'verifiy_server', type_=yesno_values, + new_column_name='verify_server') + else: + op.alter_column('ps_transports', 'verifiy_server', existing_type=yesno_values, type_=sa.String(3), + new_column_name='verify_server') + yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=True) + op.alter_column('ps_transports', 'verify_server', existing_type=sa.String(3), type_=yesno_values) def downgrade(): yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False) - op.alter_column('ps_transports', 'verify_server', type_=yesno_values, - new_column_name='verifiy_server') + if op.get_context().bind.dialect.name != 'mssql': + op.alter_column('ps_transports', 'verify_server', type_=yesno_values, + new_column_name='verifiy_server') + else: + op.alter_column('ps_transports', 'verify_server', existing_type=yesno_values, type_=sa.String(3), + new_column_name='verifiy_server') + yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=True) + op.alter_column('ps_transports', 'verifiy_server', existing_type=sa.String(3), type_=yesno_values) |