]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
alembic/sqlalchemy: auto increment only allowed on a single column 37/3437/3
authorKevin Harwell <kharwell@digium.com>
Tue, 9 Aug 2016 17:07:20 +0000 (12:07 -0500)
committerKevin Harwell <kharwell@digium.com>
Wed, 10 Aug 2016 18:50:13 +0000 (13:50 -0500)
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

contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py

index ecee0e04efdb8b17ec3c8d74b45dede3aae9d4fc..415f5bc25c4a1254785a7af6bb0c61aa16755541 100755 (executable)
@@ -31,20 +31,18 @@ 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), primary_key=True, nullable=False),
-        sa.Column('exten', sa.String(40), primary_key=True, nullable=False),
-        sa.Column('priority', sa.Integer, primary_key=True, nullable=False,
-                  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')