Asterisk - The Open Source Telephony Project
GIT-master-abe0018
contrib
ast-db-manage
config
versions
4c573e7135bd_fix_tos_field_types.py
Go to the documentation of this file.
1
"""Fix tos and cos field types
2
3
Revision ID: 4c573e7135bd
4
Revises: 28887f25a46f
5
Create Date: 2014-03-05 12:16:56.618630
6
7
"""
8
9
# revision identifiers, used by Alembic.
10
revision =
'4c573e7135bd'
11
down_revision =
'28887f25a46f'
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
def
upgrade
():
21
op.alter_column(
'ps_endpoints'
,
'tos_audio'
, type_=sa.String(10))
22
op.alter_column(
'ps_endpoints'
,
'tos_video'
, type_=sa.String(10))
23
op.drop_column(
'ps_endpoints'
,
'cos_audio'
)
24
op.drop_column(
'ps_endpoints'
,
'cos_video'
)
25
op.add_column(
'ps_endpoints'
, sa.Column(
'cos_audio'
, sa.Integer))
26
op.add_column(
'ps_endpoints'
, sa.Column(
'cos_video'
, sa.Integer))
27
28
op.alter_column(
'ps_transports'
,
'tos'
, type_=sa.String(10))
29
30
# Can't cast YENO_VALUES to Integers, so dropping and adding is required
31
op.drop_column(
'ps_transports'
,
'cos'
, schema=
None
, mssql_drop_check=
True
)
32
op.add_column(
'ps_transports'
, sa.Column(
'cos'
, sa.Integer))
33
34
def
downgrade
():
35
36
yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=
False
)
37
38
# Can't cast string to YESNO_VALUES, so dropping and adding is required
39
op.drop_column(
'ps_endpoints'
,
'tos_audio'
)
40
op.drop_column(
'ps_endpoints'
,
'tos_video'
)
41
op.add_column(
'ps_endpoints'
, sa.Column(
'tos_audio'
, yesno_values))
42
op.add_column(
'ps_endpoints'
, sa.Column(
'tos_video'
, yesno_values))
43
op.drop_column(
'ps_endpoints'
,
'cos_audio'
)
44
op.drop_column(
'ps_endpoints'
,
'cos_video'
)
45
op.add_column(
'ps_endpoints'
, sa.Column(
'cos_audio'
, yesno_values))
46
op.add_column(
'ps_endpoints'
, sa.Column(
'cos_video'
, yesno_values))
47
48
if
op.get_context().bind.dialect.name ==
'mssql'
:
49
op.drop_constraint(
'ck_ps_transports_tos_yesno_values'
,
'ps_transports'
)
50
op.drop_column(
'ps_transports'
,
'tos'
)
51
op.add_column(
'ps_transports'
, sa.Column(
'tos'
, yesno_values))
52
# Can't cast integers to YESNO_VALUES, so dropping and adding is required
53
op.drop_column(
'ps_transports'
,
'cos'
)
54
op.add_column(
'ps_transports'
, sa.Column(
'cos'
, yesno_values))
4c573e7135bd_fix_tos_field_types.upgrade
def upgrade()
Definition:
4c573e7135bd_fix_tos_field_types.py:20
4c573e7135bd_fix_tos_field_types.downgrade
def downgrade()
Definition:
4c573e7135bd_fix_tos_field_types.py:34
Generated on Wed May 8 2024 20:04:23 for Asterisk - The Open Source Telephony Project by
1.9.4