author | ymh <ymh.work@gmail.com> |
Tue, 28 Oct 2014 18:11:16 +0100 | |
changeset 78 | 37bb8e326446 |
permissions | -rw-r--r-- |
78
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
"""add label and uuid |
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: 3aec56269d7e |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
Revises: 37eaf74e46b |
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 17:17:19.017259 |
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 = '3aec56269d7e' |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
down_revision = '37eaf74e46b' |
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 |
import uuid |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
|
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
from alembic import op |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
import sqlalchemy as sa |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
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
|
18 |
|
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
def upgrade(): |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
op.add_column('event_session', sa.Column('label', 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
|
21 |
op.add_column('event_session', sa.Column('uuid', postgresql.UUID(), nullable=True)) |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
op.create_unique_constraint(None, 'event_session', ['uuid']) |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
event_session = sa.sql.table('event_session', |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
sa.sql.column('id', sa.Integer), |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
sa.sql.column('uuid', postgresql.UUID) |
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 |
connection = op.get_bind() |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
for r in connection.execute(event_session.select()): |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
op.execute(event_session.update().values({'uuid':str(uuid.uuid4())}).where(event_session.c.id == r['id'])) |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
op.alter_column('event_session', 'uuid', |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
existing_type=postgresql.UUID(), |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
nullable=False) |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
|
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
|
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
|
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
def downgrade(): |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
### commands auto generated by Alembic - please adjust! ### |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
op.drop_constraint("event_session_uuid_key", 'event_session') |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
op.drop_column('event_session', 'uuid') |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
op.drop_column('event_session', 'label') |
37bb8e326446
add a lable ro eventsession + add alembic migration for older databases
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
### end Alembic commands ### |