Asterisk - The Open Source Telephony Project GIT-master-115d7c0
5139253c0423_make_q_member_uniqueid_autoinc.py
Go to the documentation of this file.
2# Asterisk -- An open source telephony toolkit.
3#
4# Copyright (C) 2014, Richard Mudgett
5#
6# Richard Mudgett <rmudgett@digium.com>
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
21Revision ID: 5139253c0423
22Revises: 1758e8bbf6b
23Create Date: 2014-07-29 16:26:51.184981
24
25"""
26
27# revision identifiers, used by Alembic.
28revision = '5139253c0423'
29down_revision = '1758e8bbf6b'
30
31from alembic import op
32import sqlalchemy as sa
33
34
35def 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
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))