Asterisk - The Open Source Telephony Project  18.5.0
d3e4284f8707_add_prune_on_boot_to_ps_subscription_.py
Go to the documentation of this file.
1 """add prune_on_boot to ps_subscription_persistence
2 
3 Revision ID: d3e4284f8707
4 Revises: 52798ad97bdf
5 Create Date: 2018-01-28 17:45:36.218123
6 
7 """
8 
9 # revision identifiers, used by Alembic.
10 revision = 'd3e4284f8707'
11 down_revision = '52798ad97bdf'
12 
13 from alembic import op
14 import sqlalchemy as sa
15 from sqlalchemy.dialects.postgresql import ENUM
16 
17 YESNO_NAME = 'yesno_values'
18 YESNO_VALUES = ['yes', 'no']
19 
20 
21 def upgrade():
22  ############################# Enums ##############################
23 
24  # yesno_values have already been created, so use postgres enum object
25  # type to get around "already created" issue - works okay with mysql
26  yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
27 
28  op.add_column('ps_subscription_persistence', sa.Column('prune_on_boot', yesno_values))
29 
30 def downgrade():
31  if op.get_context().bind.dialect.name == 'mssql':
32  op.drop_constraint('ck_ps_subscription_persistence_prune_on_boot_yesno_values','ps_subscription_persistence')
33  op.drop_column('ps_subscription_persistence', 'prune_on_boot')