Files
asterisk/contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
Kevin Harwell d4170df40a alembic/sqlalchemy: auto increment only allowed on a single column
The extensions table defined two columns (id and priority) as primary key
autoincrement columns. However only one is allowed when defining the primary
key.

This patch removes the autoincrement attribute from the priority column since
it does not need to be as such and really should not have been on there in the
first place.

This patch also removes 'context', 'exten', and 'priority' from the primary key
index and creates a new combined unique contraint index on them.

ASTERISK-26183 #close

Change-Id: Ib9c712c612a4d7ec1edb0dcb77f1bae0905a470b
2016-08-10 13:49:48 -05:00

49 lines
1.4 KiB
Python
Executable File

#
# Asterisk -- An open source telephony toolkit.
#
# Copyright (C) 2013, Digium, Inc.
#
# Scott Griepentrog <sgriepentrog@digium.com>
#
# See http://www.asterisk.org for more information about
# the Asterisk project. Please do not directly contact
# any of the maintainers of this project for assistance;
# the project provides a web site, mailing lists and IRC
# channels for your use.
#
# This program is free software, distributed under the terms of
# the GNU General Public License Version 2. See the LICENSE file
# at the top of the source tree.
#
"""adding extensions
Revision ID: 581a4264e537
Revises: 43956d550a44
Create Date: 2013-12-10 16:32:41.145327
"""
# revision identifiers, used by Alembic.
revision = '581a4264e537'
down_revision = '43956d550a44'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.create_table(
'extensions',
sa.Column('id', sa.BigInteger, primary_key=True, nullable=False,
unique=True, autoincrement=True),
sa.Column('context', sa.String(40), nullable=False),
sa.Column('exten', sa.String(40), nullable=False),
sa.Column('priority', sa.Integer, nullable=False),
sa.Column('app', sa.String(40), nullable=False),
sa.Column('appdata', sa.String(256), nullable=False),
sa.UniqueConstraint('context', 'exten', 'priority')
)
def downgrade():
op.drop_table('extensions')