Add Label type and migration

This commit is contained in:
Ivan Habunek 2018-10-15 13:18:47 +02:00 committed by Drew DeVault
parent bc2c922fda
commit cfc0ac9412
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,33 @@
"""Add label
Revision ID: 3a0a7407fb50
Revises: cb9732f3364c
Create Date: 2018-10-08 16:48:16.900142
"""
# revision identifiers, used by Alembic.
revision = '3a0a7407fb50'
down_revision = 'cb9732f3364c'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.create_table('label',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('created', sa.DateTime(), nullable=False),
sa.Column('updated', sa.DateTime(), nullable=False),
sa.Column('tracker_id', sa.Integer(), nullable=False),
sa.Column('name', sa.Text(), nullable=False),
sa.Column('color', sa.Text(), nullable=False),
sa.Column('text_color', sa.Text(), nullable=False),
sa.ForeignKeyConstraint(['tracker_id'], ['tracker.id']),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('tracker_id', 'name', name='idx_tracker_name_unique')
)
def downgrade():
op.drop_table('label')

View File

@ -7,3 +7,4 @@ from .ticket import Ticket
from .ticketsubscription import TicketSubscription
from .ticketcomment import TicketComment
from .event import Event, EventType, EventNotification
from .label import Label

25
todosrht/types/label.py Normal file
View File

@ -0,0 +1,25 @@
import sqlalchemy as sa
from srht.database import Base
class Label(Base):
__tablename__ = 'label'
id = sa.Column(sa.Integer, primary_key=True)
created = sa.Column(sa.DateTime, nullable=False)
updated = sa.Column(sa.DateTime, nullable=False)
tracker_id = sa.Column(sa.Integer,
sa.ForeignKey("tracker.id"), nullable=False)
tracker = sa.orm.relationship("Tracker", backref=sa.orm.backref("labels"))
name = sa.Column(sa.Text, nullable=False)
color = sa.Column(sa.Text, nullable=False)
text_color = sa.Column(sa.Text, nullable=False)
__table_args__ = (
sa.UniqueConstraint("tracker_id", "name",
name="idx_tracker_name_unique"),
)
def __repr__(self):
return '<Label {} {}>'.format(self.id, self.name)