mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	alembic: Fix errors during upgrade head.
When trying to upgrade using alembic, a couple different errors kept popping up that prevented the upgrade. An additional parameter was needed when changing the schema for mwi_subscribe_replaces_unsolicited from an integer to an enum. When changing from a string to an enum, the type needed to be cast for postgresql. The other issue was a parameter being used during column creation that did not exist. After fixing the upgrade process, it revealed errors with the downgrade process. One was a variable not being defined in the downgrade function, and the other was tables not existing when using MySQL. This was due to a context check that should have encompassed MySQL, but in the end was not doing so. Change-Id: Ib4d70cf3ce5080023a50be496272a777b55d6c8e
This commit is contained in:
		
				
					committed by
					
						
						Benjamin Keith Ford
					
				
			
			
				
	
			
			
			
						parent
						
							12f42eaaaa
						
					
				
				
					commit
					4edd24841d
				
			@@ -27,7 +27,8 @@ 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():
 | 
			
		||||
    if op.get_context().bind.dialect.name != 'mssql':
 | 
			
		||||
    context_name = op.get_context().bind.dialect.name
 | 
			
		||||
    if context_name != 'mssql' and context_name != 'mysql':
 | 
			
		||||
        op.drop_index('ps_aors_qualifyfreq_contact')
 | 
			
		||||
        op.drop_index('ps_contacts_qualifyfreq_exp')
 | 
			
		||||
    else:
 | 
			
		||||
 
 | 
			
		||||
@@ -28,11 +28,12 @@ def upgrade():
 | 
			
		||||
    op.add_column('ps_globals',
 | 
			
		||||
        sa.Column('taskprocessor_overload_trigger',
 | 
			
		||||
            sa.Enum(*PJSIP_TASKPROCESSOR_OVERLOAD_TRIGGER_VALUES,
 | 
			
		||||
            name=PJSIP_TASKPROCESSOR_OVERLOAD_TRIGGER_NAME,
 | 
			
		||||
            create_type=False)))
 | 
			
		||||
            name=PJSIP_TASKPROCESSOR_OVERLOAD_TRIGGER_NAME)))
 | 
			
		||||
 | 
			
		||||
def downgrade():
 | 
			
		||||
    if op.get_context().bind.dialect.name == 'mssql':
 | 
			
		||||
    context = op.get_context()
 | 
			
		||||
 | 
			
		||||
    if context.bind.dialect.name == 'mssql':
 | 
			
		||||
        op.drop_constraint('ck_ps_globals_taskprocessor_overload_trigger_pjsip_taskprocessor_overload_trigger_values', 'ps_globals')
 | 
			
		||||
    op.drop_column('ps_globals', 'taskprocessor_overload_trigger')
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ def upgrade():
 | 
			
		||||
    op.alter_column('ps_endpoints', 'mwi_subscribe_replaces_unsolicited',
 | 
			
		||||
                    type_=sa.String(5))
 | 
			
		||||
    op.alter_column('ps_endpoints', 'mwi_subscribe_replaces_unsolicited',
 | 
			
		||||
                    type_=ast_bool_values)
 | 
			
		||||
            type_=ast_bool_values, postgresql_using='mwi_subscribe_replaces_unsolicited::{0}'.format(AST_BOOL_NAME))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def downgrade():
 | 
			
		||||
@@ -55,7 +55,7 @@ def downgrade():
 | 
			
		||||
    op.alter_column('ps_endpoints', 'mwi_subscribe_replaces_unsolicited',
 | 
			
		||||
                    type_=sa.String(5))
 | 
			
		||||
    op.alter_column('ps_endpoints', 'mwi_subscribe_replaces_unsolicited',
 | 
			
		||||
                    type_=sa.Integer)
 | 
			
		||||
            type_=sa.Integer, postgresql_using='mwi_subscribe_replaces_unsolicited::Integer')
 | 
			
		||||
 | 
			
		||||
    if op.get_context().bind.dialect.name == 'postgresql':
 | 
			
		||||
        ENUM(name=AST_BOOL_NAME).drop(op.get_bind(), checkfirst=False)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user