summaryrefslogtreecommitdiff
path: root/contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py
diff options
context:
space:
mode:
authorFlorian Floimair <f.floimair@commend.com>2017-09-05 18:13:19 +0200
committerKevin Harwell <kharwell@digium.com>2017-09-08 11:48:00 -0500
commitad606844bec37c3c782580ff807e2d2f2d23feb2 (patch)
treeabdc5bb99ddffbb8a2ed0733cdbb8eb12fda9a25 /contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py
parent9a366d24242a0fc1e7d04b8859ac5773193aa932 (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.py23
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)