migrations/versions/3c78152eb874_first_migration.py
author ymh <ymh.work@gmail.com>
Tue, 28 Oct 2014 18:11:16 +0100
changeset 78 37bb8e326446
permissions -rw-r--r--
add a lable ro eventsession + add alembic migration for older databases
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
78
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
"""First migration
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
Revision ID: 3c78152eb874
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
Revises: None
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
Create Date: 2014-10-28 15:24:25.401385
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
"""
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
# revision identifiers, used by Alembic.
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
revision = '3c78152eb874'
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
down_revision = None
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
from alembic import op
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
import sqlalchemy as sa
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
from sqlalchemy.dialects import postgresql
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
def upgrade():
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    op.create_table('event',
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    sa.Column('id', sa.Integer(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    sa.Column('code', sa.String(length=255), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    sa.Column('label', sa.String(length=2048), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    sa.Column('description', sa.Text(), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    sa.Column('start_date', sa.DateTime(), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    sa.Column('active', sa.Boolean(), server_default='1', nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    sa.PrimaryKeyConstraint('id')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    )
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    op.create_index(op.f('ix_event_active'), 'event', ['active'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    op.create_index(op.f('ix_event_code'), 'event', ['code'], unique=True)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    op.create_index(op.f('ix_event_start_date'), 'event', ['start_date'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    op.create_table('event_session',
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    sa.Column('id', sa.Integer(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    sa.Column('event_id', sa.Integer(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    sa.Column('project_id', sa.String(length=2048), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    sa.Column('order', sa.Integer(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    sa.Column('start_ts', sa.DateTime(timezone=True), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    sa.Column('duration', sa.Integer(), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    sa.Column('categories_json', postgresql.JSON(), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    sa.ForeignKeyConstraint(['event_id'], [u'event.id'], ),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    sa.PrimaryKeyConstraint('id')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    )
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    op.create_index(op.f('ix_event_session_order'), 'event_session', ['order'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
    op.create_index(op.f('ix_event_session_start_ts'), 'event_session', ['start_ts'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    op.create_table('annotation',
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
    sa.Column('id', sa.Integer(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    sa.Column('uuid', postgresql.UUID(), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    sa.Column('created', sa.DateTime(), server_default=sa.text("(now() at time zone 'utc')"), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    sa.Column('ts', sa.DateTime(timezone=True), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    sa.Column('event_code', sa.String(length=255), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    sa.Column('channel', sa.String(length=255), nullable=False),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    sa.Column('content', postgresql.JSON(), nullable=True),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    sa.ForeignKeyConstraint(['event_code'], ['event.code'], ),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
    sa.PrimaryKeyConstraint('id'),
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
    sa.UniqueConstraint('uuid')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    )
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    op.create_index(op.f('ix_annotation_channel'), 'annotation', ['channel'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    op.create_index(op.f('ix_annotation_event_code'), 'annotation', ['event_code'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    op.create_index(op.f('ix_annotation_ts'), 'annotation', ['ts'], unique=False)
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
def downgrade():
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    op.drop_index(op.f('ix_annotation_ts'), table_name='annotation')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
    op.drop_index(op.f('ix_annotation_event_code'), table_name='annotation')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
    op.drop_index(op.f('ix_annotation_channel'), table_name='annotation')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
    op.drop_table('annotation')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    op.drop_index(op.f('ix_event_session_start_ts'), table_name='event_session')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
    op.drop_index(op.f('ix_event_session_order'), table_name='event_session')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    op.drop_table('event_session')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
    op.drop_index(op.f('ix_event_start_date'), table_name='event')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
    op.drop_index(op.f('ix_event_code'), table_name='event')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
    op.drop_index(op.f('ix_event_active'), table_name='event')
37bb8e326446 add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
    op.drop_table('event')