diff --git a/contrib/ast-db-manage/config/versions/15b1430ad6f1_add_moh_passthrough_option_to_pjsip.py b/contrib/ast-db-manage/config/versions/15b1430ad6f1_add_moh_passthrough_option_to_pjsip.py index 725238cab17bca65928039084c2bb44f830f5119..2456dac6e50a0c481628d830dc3245443a0dd009 100644 --- a/contrib/ast-db-manage/config/versions/15b1430ad6f1_add_moh_passthrough_option_to_pjsip.py +++ b/contrib/ast-db-manage/config/versions/15b1430ad6f1_add_moh_passthrough_option_to_pjsip.py @@ -27,5 +27,7 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('moh_passthrough', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_moh_passthrough_yesno_values','ps_endpoints') with op.batch_alter_table('ps_endpoints') as batch_op: batch_op.drop_column('moh_passthrough') diff --git a/contrib/ast-db-manage/config/versions/15db7b91a97a_add_rtcp_mux.py b/contrib/ast-db-manage/config/versions/15db7b91a97a_add_rtcp_mux.py index 8b0214a171446dc37ec3e13fc84ee6c5b03bfa96..de9e10ae3329978e0f9ba8214430d4f78abab3c0 100644 --- a/contrib/ast-db-manage/config/versions/15db7b91a97a_add_rtcp_mux.py +++ b/contrib/ast-db-manage/config/versions/15db7b91a97a_add_rtcp_mux.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_rtcp_mux_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'rtcp_mux') diff --git a/contrib/ast-db-manage/config/versions/23530d604b96_add_rpid_immediate.py b/contrib/ast-db-manage/config/versions/23530d604b96_add_rpid_immediate.py index dc0c01c24c3048b5ddbc775c5efb912e70a16fe8..b3ffaeedc57baa96d0f9667de36fc4f239785b32 100644 --- a/contrib/ast-db-manage/config/versions/23530d604b96_add_rpid_immediate.py +++ b/contrib/ast-db-manage/config/versions/23530d604b96_add_rpid_immediate.py @@ -45,4 +45,6 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('rpid_immediate', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_rpid_immediate_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'rpid_immediate') diff --git a/contrib/ast-db-manage/config/versions/26d7f3bf0fa5_add_bind_rtp_to_media_address_to_pjsip.py b/contrib/ast-db-manage/config/versions/26d7f3bf0fa5_add_bind_rtp_to_media_address_to_pjsip.py index e7c11da19259133cc38cd5b5eddca1d489078243..ce2ac1e5e1a0fe33a3ca576a1c1d77b327db1a05 100644 --- a/contrib/ast-db-manage/config/versions/26d7f3bf0fa5_add_bind_rtp_to_media_address_to_pjsip.py +++ b/contrib/ast-db-manage/config/versions/26d7f3bf0fa5_add_bind_rtp_to_media_address_to_pjsip.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_bind_rtp_to_media_address_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'bind_rtp_to_media_address') diff --git a/contrib/ast-db-manage/config/versions/28ab27a7826d_add_srv_lookups_to_identify.py b/contrib/ast-db-manage/config/versions/28ab27a7826d_add_srv_lookups_to_identify.py index 8831e20023e5f5d2aa476c6f67ff3c563c3cdff1..9325da3eb2868f9ab4bf56eabf0b40c1d8cebae0 100644 --- a/contrib/ast-db-manage/config/versions/28ab27a7826d_add_srv_lookups_to_identify.py +++ b/contrib/ast-db-manage/config/versions/28ab27a7826d_add_srv_lookups_to_identify.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoint_id_ips_srv_lookups_yesno_values','ps_endpoint_id_ips') op.drop_column('ps_endpoint_id_ips', 'srv_lookups') diff --git a/contrib/ast-db-manage/config/versions/28b8e71e541f_add_g726_non_standard.py b/contrib/ast-db-manage/config/versions/28b8e71e541f_add_g726_non_standard.py index ad36bd9b7cd3c3b87271caf34532a8ba03687832..08e2e3f36e6b149eb62fcc183d87144e5920cbaf 100644 --- a/contrib/ast-db-manage/config/versions/28b8e71e541f_add_g726_non_standard.py +++ b/contrib/ast-db-manage/config/versions/28b8e71e541f_add_g726_non_standard.py @@ -27,4 +27,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_g726_non_standard_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'g726_non_standard') diff --git a/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py b/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py index d39ddb41a59be7870974aa9ceac0988ffb08402e..3ca16feaf84efd9f8afb505b917f5be6295dcbb8 100644 --- a/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py +++ b/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py @@ -142,6 +142,8 @@ def upgrade(): def downgrade(): ########################## drop columns ########################## + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_aors_support_path_yesno_values', 'ps_aors') op.drop_column('ps_aors', 'support_path') op.drop_column('ps_aors', 'outbound_proxy') op.drop_column('ps_aors', 'maximum_expiration') @@ -153,6 +155,8 @@ def downgrade(): new_column_name='mwi_fromuser', existing_type=sa.String(40)) op.drop_column('ps_endpoints', 'set_var') + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_redirect_method_pjsip_redirect_method_values', 'ps_endpoints') op.drop_column('ps_endpoints', 'redirect_method') op.drop_column('ps_endpoints', 'media_address') diff --git a/contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py b/contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py index 145d6bea6520d9ffefad571df103c57a3b041a4b..29558cee1ba6bcd37e94cb79c35724e3cd85fa43 100644 --- a/contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py +++ b/contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py @@ -27,4 +27,6 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('user_eq_phone', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_user_eq_phone_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'user_eq_phone') diff --git a/contrib/ast-db-manage/config/versions/3772f8f828da_update_identify_by.py b/contrib/ast-db-manage/config/versions/3772f8f828da_update_identify_by.py index 92695b09fc0e9e18b4be9bea22852f633f158ff5..3c80f4806a2e2748f56730270dd1d3a7cbc6f188 100644 --- a/contrib/ast-db-manage/config/versions/3772f8f828da_update_identify_by.py +++ b/contrib/ast-db-manage/config/versions/3772f8f828da_update_identify_by.py @@ -16,6 +16,8 @@ import sqlalchemy as sa def enum_update(table_name, column_name, enum_name, enum_values): if op.get_context().bind.dialect.name != 'postgresql': + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_identify_by_pjsip_identify_by_values', 'ps_endpoints') op.alter_column(table_name, column_name, type_=sa.Enum(*enum_values, name=enum_name)) return diff --git a/contrib/ast-db-manage/config/versions/3bcc0b5bc2c9_add_allow_reload_to_ps_transports.py b/contrib/ast-db-manage/config/versions/3bcc0b5bc2c9_add_allow_reload_to_ps_transports.py index 0becc1e263b2abd833d0120079aeb4a6e0e2b346..093a5d4125039f3c84eb3f7af1c359cb196a738c 100644 --- a/contrib/ast-db-manage/config/versions/3bcc0b5bc2c9_add_allow_reload_to_ps_transports.py +++ b/contrib/ast-db-manage/config/versions/3bcc0b5bc2c9_add_allow_reload_to_ps_transports.py @@ -22,4 +22,6 @@ def upgrade(): op.add_column('ps_transports', sa.Column('allow_reload', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_transports_allow_reload_yesno_values','ps_transports') op.drop_column('ps_transports', 'allow_reload') diff --git a/contrib/ast-db-manage/config/versions/4468b4a91372_add_pjsip_asymmetric_rtp_codec.py b/contrib/ast-db-manage/config/versions/4468b4a91372_add_pjsip_asymmetric_rtp_codec.py index c121495e2d2d57664ffd464e0a63ceeed5940919..1a8ede6cd1497168c6a7888d7c03bee2eb6b4bd5 100644 --- a/contrib/ast-db-manage/config/versions/4468b4a91372_add_pjsip_asymmetric_rtp_codec.py +++ b/contrib/ast-db-manage/config/versions/4468b4a91372_add_pjsip_asymmetric_rtp_codec.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_asymmetric_rtp_codec_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'asymmetric_rtp_codec') diff --git a/contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py b/contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py index 17906ae19da8a4d2c10a3f67d9d0e7c036312934..08211647ce02475946c3533b51c4bfa7548a19bd 100644 --- a/contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py +++ b/contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py @@ -28,7 +28,7 @@ def upgrade(): op.alter_column('ps_transports', 'tos', type_=sa.String(10)) # Can't cast YENO_VALUES to Integers, so dropping and adding is required - op.drop_column('ps_transports', 'cos') + op.drop_column('ps_transports', 'cos', schema=None, mssql_drop_check=True) op.add_column('ps_transports', sa.Column('cos', sa.Integer)) def downgrade(): @@ -45,6 +45,8 @@ def downgrade(): op.add_column('ps_endpoints', sa.Column('cos_audio', yesno_values)) op.add_column('ps_endpoints', sa.Column('cos_video', yesno_values)) + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_transports_tos_yesno_values', 'ps_transports') op.drop_column('ps_transports', 'tos') op.add_column('ps_transports', sa.Column('tos', yesno_values)) # Can't cast integers to YESNO_VALUES, so dropping and adding is required diff --git a/contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py b/contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py index 72f5ee169615b051312d5427017ace299571f243..7efd8b296149b0039681e814575265df6501198c 100644 --- a/contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py +++ b/contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py @@ -38,7 +38,7 @@ def upgrade(): op.drop_column('queue_members', 'uniqueid') op.add_column('queue_members', sa.Column(name='uniqueid', type_=sa.Integer, nullable=False, unique=True)) - # The postgres backend does not like the autoincrement needed for + # The postgres and mssql backends do not like the autoincrement needed for # mysql here. It is just the backend that is giving a warning and # not the database itself. op.alter_column(table_name='queue_members', column_name='uniqueid', @@ -49,5 +49,7 @@ def upgrade(): def downgrade(): # Was unable to find a way to use op.alter_column() to remove the # unique index property. + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('uq_queue_members_uniqueid', 'queue_members') op.drop_column('queue_members', 'uniqueid') op.add_column('queue_members', sa.Column(name='uniqueid', type_=sa.String(80), nullable=False)) diff --git a/contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py b/contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py index c2dacda2c682ce7e4f4bbeae42e08e481a23e96a..2eea7139a2c17639e90b68b104eb31527dffb1ce 100644 --- a/contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py +++ b/contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py @@ -28,5 +28,8 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('media_use_received_transport', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_force_avp_yesno_values', 'ps_endpoints') + op.drop_constraint('ck_ps_endpoints_media_use_received_transport_yesno_values', 'ps_endpoints') op.drop_column('ps_endpoints', 'force_avp') op.drop_column('ps_endpoints', 'media_use_received_transport') 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 28ebc8b1773f606aa2fb5492aac52ace211c9523..a1154a30ee26df4513dbdfdc57810c645e6c63c2 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) diff --git a/contrib/ast-db-manage/config/versions/837aa67461fb_ps_contacts_add_authenticate_qualify.py b/contrib/ast-db-manage/config/versions/837aa67461fb_ps_contacts_add_authenticate_qualify.py index 76faf394cfdda506f55ef9fae80774d111c24518..033a999af6bd763ff0a2d12aa7f9d62ec20e8066 100644 --- a/contrib/ast-db-manage/config/versions/837aa67461fb_ps_contacts_add_authenticate_qualify.py +++ b/contrib/ast-db-manage/config/versions/837aa67461fb_ps_contacts_add_authenticate_qualify.py @@ -28,5 +28,7 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_contacts_authenticate_qualify_yesno_values','ps_contacts') op.drop_column('ps_contacts', 'authenticate_qualify') diff --git a/contrib/ast-db-manage/config/versions/86bb1efa278d_add_ps_endpoints_refer_blind_progress.py b/contrib/ast-db-manage/config/versions/86bb1efa278d_add_ps_endpoints_refer_blind_progress.py index 9b0f6d4d08a32662da42eb82b72fd68d2d1df2fb..a46ed0c5d6abafa932ca3377f5c86f79510bc441 100644 --- a/contrib/ast-db-manage/config/versions/86bb1efa278d_add_ps_endpoints_refer_blind_progress.py +++ b/contrib/ast-db-manage/config/versions/86bb1efa278d_add_ps_endpoints_refer_blind_progress.py @@ -27,4 +27,6 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('refer_blind_progress', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_refer_blind_progress_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'refer_blind_progress') diff --git a/contrib/ast-db-manage/config/versions/8d478ab86e29_pjsip_add_disable_multi_domain.py b/contrib/ast-db-manage/config/versions/8d478ab86e29_pjsip_add_disable_multi_domain.py index a782685847d1d0cec005432a4174ad386d8e000b..a8d7b48ca6906ef6c09877236d224ec7b2cee145 100644 --- a/contrib/ast-db-manage/config/versions/8d478ab86e29_pjsip_add_disable_multi_domain.py +++ b/contrib/ast-db-manage/config/versions/8d478ab86e29_pjsip_add_disable_multi_domain.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_globals_disable_multi_domain_yesno_values','ps_globals') op.drop_column('ps_globals', 'disable_multi_domain') diff --git a/contrib/ast-db-manage/config/versions/8fce4c573e15_add_pjsip_allow_overlap.py b/contrib/ast-db-manage/config/versions/8fce4c573e15_add_pjsip_allow_overlap.py index 24057ecc878e451490f0bb4a89a59d1bb46a32b1..539944e29c1f87eb32257c53d6a87a146420507d 100644 --- a/contrib/ast-db-manage/config/versions/8fce4c573e15_add_pjsip_allow_overlap.py +++ b/contrib/ast-db-manage/config/versions/8fce4c573e15_add_pjsip_allow_overlap.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_allow_overlap_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'allow_overlap') diff --git a/contrib/ast-db-manage/config/versions/945b1098bdd_add_media_encryption_optimistic_to_pjsip.py b/contrib/ast-db-manage/config/versions/945b1098bdd_add_media_encryption_optimistic_to_pjsip.py index 7a463f0575313d93fa7b2751df8dc0b6e1fb925a..61ec27266745bc9397c35ac6f98dca018ae0ef8e 100644 --- a/contrib/ast-db-manage/config/versions/945b1098bdd_add_media_encryption_optimistic_to_pjsip.py +++ b/contrib/ast-db-manage/config/versions/945b1098bdd_add_media_encryption_optimistic_to_pjsip.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_media_encryption_optimistic_yesno_values','ps_endpoints') op.drop_column('ps_endpoints', 'media_encryption_optimistic') diff --git a/contrib/ast-db-manage/config/versions/a6ef36f1309_ps_globals_add_ignore_uri_user_options.py b/contrib/ast-db-manage/config/versions/a6ef36f1309_ps_globals_add_ignore_uri_user_options.py index 1556521d55279674429bd50d47f0fdbc42c64ff2..55d3d3811a9411c30d596a82fef9546cf0b46c46 100644 --- a/contrib/ast-db-manage/config/versions/a6ef36f1309_ps_globals_add_ignore_uri_user_options.py +++ b/contrib/ast-db-manage/config/versions/a6ef36f1309_ps_globals_add_ignore_uri_user_options.py @@ -28,5 +28,7 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_globals_ignore_uri_user_options_yesno_values','ps_globals') op.drop_column('ps_globals', 'ignore_uri_user_options') diff --git a/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py b/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py index 3d4f74de51b3862b0fafa496fedac5c32140f486..42b522c1bb7cc336392cea117e0ba7a0c8c52ed3 100644 --- a/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py +++ b/contrib/ast-db-manage/config/versions/b83645976fdd_add_dtls_fingerprint_to_ps_endpoints.py @@ -31,6 +31,8 @@ def upgrade(): def downgrade(): context = op.get_context() + if context.bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_dtls_fingerprint_sha_hash_values', 'ps_endpoints') op.drop_column('ps_endpoints', 'dtls_fingerprint') if context.bind.dialect.name == 'postgresql': diff --git a/contrib/ast-db-manage/config/versions/c7a44a5a0851_pjsip_add_global_mwi_options.py b/contrib/ast-db-manage/config/versions/c7a44a5a0851_pjsip_add_global_mwi_options.py index d3efa2278a59d503a34ef5136c218f52d51993af..c762fc430ab427473a6540cca68b224773fae3d6 100644 --- a/contrib/ast-db-manage/config/versions/c7a44a5a0851_pjsip_add_global_mwi_options.py +++ b/contrib/ast-db-manage/config/versions/c7a44a5a0851_pjsip_add_global_mwi_options.py @@ -32,4 +32,6 @@ def upgrade(): def downgrade(): op.drop_column('ps_globals', 'mwi_tps_queue_high') op.drop_column('ps_globals', 'mwi_tps_queue_low') + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_globals_mwi_disable_initial_unsolicited_yesno_values','ps_globals') op.drop_column('ps_globals', 'mwi_disable_initial_unsolicited') diff --git a/contrib/ast-db-manage/config/versions/d7983954dd96_add_ps_endpoints_notify_early_inuse_.py b/contrib/ast-db-manage/config/versions/d7983954dd96_add_ps_endpoints_notify_early_inuse_.py index e1dcdd133b16bd39b0e84e83be172c3d0f9aa40a..a5419a15ffddf54ae4dff171c8300b94090cc11f 100644 --- a/contrib/ast-db-manage/config/versions/d7983954dd96_add_ps_endpoints_notify_early_inuse_.py +++ b/contrib/ast-db-manage/config/versions/d7983954dd96_add_ps_endpoints_notify_early_inuse_.py @@ -27,4 +27,6 @@ def upgrade(): op.add_column('ps_endpoints', sa.Column('notify_early_inuse_ringing', yesno_values)) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_endpoints_notify_early_inuse_ringing_yesno_values', 'ps_endpoints') op.drop_column('ps_endpoints', 'notify_early_inuse_ringing') diff --git a/contrib/ast-db-manage/config/versions/dbc44d5a908_add_missing_columns_to_sys_and_reg.py b/contrib/ast-db-manage/config/versions/dbc44d5a908_add_missing_columns_to_sys_and_reg.py index 8aa16f1552eb3f121d4e1783368933f2700982a6..9acd4a091e8cb2c143f98531a405134996d4ca8b 100644 --- a/contrib/ast-db-manage/config/versions/dbc44d5a908_add_missing_columns_to_sys_and_reg.py +++ b/contrib/ast-db-manage/config/versions/dbc44d5a908_add_missing_columns_to_sys_and_reg.py @@ -29,6 +29,9 @@ def upgrade(): op.add_column('ps_registrations', sa.Column('endpoint', sa.String(40))) def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_systems_disable_tcp_switch_yesno_values','ps_systems') + op.drop_constraint('ck_ps_registrations_line_yesno_values','ps_registrations') op.drop_column('ps_systems', 'disable_tcp_switch') op.drop_column('ps_registrations', 'line') op.drop_column('ps_registrations', 'endpoint') diff --git a/contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py b/contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py index 9c00c012ef7b3636cb66790b51893ade219740cb..da103b1f0b0148d7bbed2efb33daebf476baf76a 100644 --- a/contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py +++ b/contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py @@ -28,7 +28,13 @@ def upgrade(): def downgrade(): op.alter_column('ps_globals', 'user_agent', type_=sa.String(40)) - op.alter_column('ps_contacts', 'id', type_=sa.String(40)) + if op.get_context().bind.dialect.name != 'mssql': + op.alter_column('ps_contacts', 'id', type_=sa.String(40)) + else: + op.drop_constraint('uq_ps_contacts_id', 'ps_contacts') + op.drop_index('ps_contacts_id', 'ps_contacts') + op.alter_column('ps_contacts', 'id', type_=sa.String(40)) + op.create_index('ps_contacts_id', 'ps_contacts', ['id']) op.alter_column('ps_contacts', 'uri', type_=sa.String(40)) op.alter_column('ps_contacts', 'user_agent', type_=sa.String(40)) diff --git a/contrib/ast-db-manage/config/versions/ef7efc2d3964_ps_contacts_add_endpoint_and_modify_.py b/contrib/ast-db-manage/config/versions/ef7efc2d3964_ps_contacts_add_endpoint_and_modify_.py index 43d4028f2b08f8bdcf9ba336f42fc40c2e17dfc7..0ac63c83a280582057deb4bb86e5c116ca109305 100644 --- a/contrib/ast-db-manage/config/versions/ef7efc2d3964_ps_contacts_add_endpoint_and_modify_.py +++ b/contrib/ast-db-manage/config/versions/ef7efc2d3964_ps_contacts_add_endpoint_and_modify_.py @@ -27,7 +27,11 @@ def upgrade(): op.create_index('ps_contacts_qualifyfreq_exp', 'ps_contacts', ['qualify_frequency', 'expiration_time']) op.create_index('ps_aors_qualifyfreq_contact', 'ps_aors', ['qualify_frequency', 'contact']) def downgrade(): - op.drop_index('ps_aors_qualifyfreq_contact') - op.drop_index('ps_contacts_qualifyfreq_exp') + if op.get_context().bind.dialect.name != 'mssql': + op.drop_index('ps_aors_qualifyfreq_contact') + op.drop_index('ps_contacts_qualifyfreq_exp') + else: + op.drop_index('ps_aors_qualifyfreq_contact', table_name='ps_aors') + op.drop_index('ps_contacts_qualifyfreq_exp', table_name='ps_contacts') op.drop_column('ps_contacts', 'endpoint') op.alter_column('ps_contacts', 'expiration_time', type_=sa.String(40)) diff --git a/contrib/ast-db-manage/config/versions/f3d1c5d38b56_add_prune_on_boot.py b/contrib/ast-db-manage/config/versions/f3d1c5d38b56_add_prune_on_boot.py index bea167369a36a0e0aa25ab7a5cd4986ad0a49391..179efba1315c10d5237e2dc09a9a475d25bde724 100644 --- a/contrib/ast-db-manage/config/versions/f3d1c5d38b56_add_prune_on_boot.py +++ b/contrib/ast-db-manage/config/versions/f3d1c5d38b56_add_prune_on_boot.py @@ -28,4 +28,6 @@ def upgrade(): def downgrade(): + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_contacts_prune_on_boot_yesno_values', 'ps_contacts') op.drop_column('ps_contacts', 'prune_on_boot') diff --git a/contrib/ast-db-manage/config/versions/f638dbe2eb23_symmetric_transport.py b/contrib/ast-db-manage/config/versions/f638dbe2eb23_symmetric_transport.py index 51b5066f5706c8b2615919328609d5cb110b6bfc..0585aa52d3d87c7506d0deccee589738094d33be 100644 --- a/contrib/ast-db-manage/config/versions/f638dbe2eb23_symmetric_transport.py +++ b/contrib/ast-db-manage/config/versions/f638dbe2eb23_symmetric_transport.py @@ -29,4 +29,6 @@ def upgrade(): def downgrade(): op.drop_column('ps_subscription_persistence', 'contact_uri') + if op.get_context().bind.dialect.name == 'mssql': + op.drop_constraint('ck_ps_transports_symmetric_transport_yesno_values','ps_transports') op.drop_column('ps_transports', 'symmetric_transport') diff --git a/contrib/ast-db-manage/env.py b/contrib/ast-db-manage/env.py index a903451b4c64239c96452814706f4b3fa6752f9f..1864239135f1ece54fd9e866259e1f6a2da34c52 100644 --- a/contrib/ast-db-manage/env.py +++ b/contrib/ast-db-manage/env.py @@ -2,7 +2,8 @@ from __future__ import with_statement from alembic import context from alembic.script import ScriptDirectory from alembic.operations import Operations -from sqlalchemy import engine_from_config, pool +from sqlalchemy import engine_from_config, pool, MetaData +from sqlalchemy.ext.declarative import declarative_base from logging.config import fileConfig import logging @@ -17,12 +18,24 @@ try: except: pass +## below block is needed for mssql +meta = MetaData(naming_convention = { + "ix": 'ix_%(column_0_label)s', + "uq": "uq_%(table_name)s_%(column_0_name)s", + "ck": "ck_%(table_name)s_%(column_0_name)s_%(constraint_name)s", + "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s", + "pk": "pk_%(table_name)s" +}) +Base = declarative_base(metadata=meta) + logger = logging.getLogger('alembic.runtime.setup') # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel # target_metadata = mymodel.Base.metadata target_metadata = None +#Comment above line and uncomment below line for mssql +#target_metadata = Base.metadata # other values from the config, defined by the needs of env.py, # can be acquired: @@ -42,7 +55,7 @@ def run_migrations_offline(): """ url = config.get_main_option("sqlalchemy.url") - context.configure(url=url) + context.configure(url=url,target_metadata=target_metadata) with context.begin_transaction(): context.run_migrations()