From 414ca219a7a6c0b9b503e19240855d1f023abc53 Mon Sep 17 00:00:00 2001 From: Adrian Moennich Date: Mon, 26 Jan 2015 13:24:49 +0100 Subject: [PATCH] LiveSync: Use PyIntEnum --- .../migrations/201410311223_1c2b0e17447d_create_tables.py | 7 ++++--- livesync/indico_livesync/models/queue.py | 7 +++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/livesync/indico_livesync/migrations/201410311223_1c2b0e17447d_create_tables.py b/livesync/indico_livesync/migrations/201410311223_1c2b0e17447d_create_tables.py index bd63478..ab39115 100644 --- a/livesync/indico_livesync/migrations/201410311223_1c2b0e17447d_create_tables.py +++ b/livesync/indico_livesync/migrations/201410311223_1c2b0e17447d_create_tables.py @@ -10,7 +10,9 @@ from alembic import op from sqlalchemy.dialects import postgresql from sqlalchemy.sql.ddl import CreateSchema, DropSchema -from indico.core.db.sqlalchemy import UTCDateTime +from indico.core.db.sqlalchemy import UTCDateTime, PyIntEnum + +from indico_livesync.models.queue import ChangeType # revision identifiers, used by Alembic. @@ -34,14 +36,13 @@ def upgrade(): sa.Column('agent_id', sa.Integer(), nullable=False, index=True), sa.Column('timestamp', UTCDateTime(), nullable=False), sa.Column('processed', sa.Boolean(), nullable=False), - sa.Column('change', sa.SmallInteger(), nullable=False), + sa.Column('change', PyIntEnum(ChangeType), nullable=False), sa.Column('type', sa.String(), nullable=False), sa.Column('category_id', sa.String()), sa.Column('event_id', sa.String()), sa.Column('contrib_id', sa.String()), sa.Column('subcontrib_id', sa.String()), sa.ForeignKeyConstraint(['agent_id'], ['plugin_livesync.agents.id']), - sa.CheckConstraint('change IN (1, 2, 3, 4, 5, 6)'), sa.PrimaryKeyConstraint('id'), schema='plugin_livesync') diff --git a/livesync/indico_livesync/models/queue.py b/livesync/indico_livesync/models/queue.py index f98d6c4..fcd012c 100644 --- a/livesync/indico_livesync/models/queue.py +++ b/livesync/indico_livesync/models/queue.py @@ -18,7 +18,7 @@ from __future__ import unicode_literals from werkzeug.datastructures import ImmutableDict -from indico.core.db.sqlalchemy import db, UTCDateTime +from indico.core.db.sqlalchemy import db, UTCDateTime, PyIntEnum from indico.util.date_time import now_utc from indico.util.string import return_ascii from indico.util.struct.enum import IndicoEnum @@ -38,8 +38,7 @@ class ChangeType(int, IndicoEnum): class LiveSyncQueueEntry(db.Model): __tablename__ = 'queues' - __table_args__ = (db.CheckConstraint('change IN ({})'.format(', '.join(map(str, ChangeType)))), - {'schema': 'plugin_livesync'}) + __table_args__ = {'schema': 'plugin_livesync'} #: Entry ID id = db.Column( @@ -71,7 +70,7 @@ class LiveSyncQueueEntry(db.Model): #: the change type, a :class:`ChangeType` change = db.Column( - db.SmallInteger, + PyIntEnum(ChangeType), nullable=False )