Asterisk - The Open Source Telephony Project  18.5.0
5139253c0423_make_q_member_uniqueid_autoinc.py
Go to the documentation of this file.
1 #
2 # Asterisk -- An open source telephony toolkit.
3 #
4 # Copyright (C) 2014, Richard Mudgett
5 #
6 # Richard Mudgett <[email protected]>
7 #
8 # See http://www.asterisk.org for more information about
9 # the Asterisk project. Please do not directly contact
10 # any of the maintainers of this project for assistance;
11 # the project provides a web site, mailing lists and IRC
12 # channels for your use.
13 #
14 # This program is free software, distributed under the terms of
15 # the GNU General Public License Version 2. See the LICENSE file
16 # at the top of the source tree.
17 #
18 
19 """make q member uniqueid autoinc
20 
21 Revision ID: 5139253c0423
22 Revises: 1758e8bbf6b
23 Create Date: 2014-07-29 16:26:51.184981
24 
25 """
26 
27 # revision identifiers, used by Alembic.
28 revision = '5139253c0423'
29 down_revision = '1758e8bbf6b'
30 
31 from alembic import op
32 import sqlalchemy as sa
33 
34 
35 def upgrade():
36  # Was unable to find a way to use op.alter_column() to add the unique
37  # index property.
38  op.drop_column('queue_members', 'uniqueid')
39  op.add_column('queue_members', sa.Column(name='uniqueid', type_=sa.Integer,
40  nullable=False, unique=True))
41  # The postgres and mssql backends do not like the autoincrement needed for
42  # mysql here. It is just the backend that is giving a warning and
43  # not the database itself.
44  op.alter_column(table_name='queue_members', column_name='uniqueid',
45  existing_type=sa.Integer, existing_nullable=False,
46  autoincrement=True)
47 
48 
49 def downgrade():
50  # Was unable to find a way to use op.alter_column() to remove the
51  # unique index property.
52  if op.get_context().bind.dialect.name == 'mssql':
53  op.drop_constraint('uq_queue_members_uniqueid', 'queue_members')
54  op.drop_column('queue_members', 'uniqueid')
55  op.add_column('queue_members', sa.Column(name='uniqueid', type_=sa.String(80), nullable=False))