Add Label type and migration
This commit is contained in:
parent
bc2c922fda
commit
cfc0ac9412
|
@ -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')
|
|
@ -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
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue