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
changes/36/3436/4
Kevin Harwell 9 years ago
parent 9042ad40f2
commit d4170df40a

@ -31,20 +31,18 @@ down_revision = '43956d550a44'
from alembic import op from alembic import op
import sqlalchemy as sa import sqlalchemy as sa
def upgrade(): def upgrade():
op.create_table( op.create_table(
'extensions', 'extensions',
sa.Column('id', sa.BigInteger, primary_key=True, nullable=False, sa.Column('id', sa.BigInteger, primary_key=True, nullable=False,
unique=True, autoincrement=True), unique=True, autoincrement=True),
sa.Column('context', sa.String(40), primary_key=True, nullable=False), sa.Column('context', sa.String(40), nullable=False),
sa.Column('exten', sa.String(40), primary_key=True, nullable=False), sa.Column('exten', sa.String(40), nullable=False),
sa.Column('priority', sa.Integer, primary_key=True, nullable=False, sa.Column('priority', sa.Integer, nullable=False),
autoincrement=True),
sa.Column('app', sa.String(40), nullable=False), sa.Column('app', sa.String(40), nullable=False),
sa.Column('appdata', sa.String(256), nullable=False), sa.Column('appdata', sa.String(256), nullable=False),
sa.UniqueConstraint('context', 'exten', 'priority')
) )
def downgrade(): def downgrade():
op.drop_table('extensions') op.drop_table('extensions')

Loading…
Cancel
Save