|
1 """add label and uuid |
|
2 |
|
3 Revision ID: 3aec56269d7e |
|
4 Revises: 37eaf74e46b |
|
5 Create Date: 2014-10-28 17:17:19.017259 |
|
6 |
|
7 """ |
|
8 |
|
9 # revision identifiers, used by Alembic. |
|
10 revision = '3aec56269d7e' |
|
11 down_revision = '37eaf74e46b' |
|
12 |
|
13 import uuid |
|
14 |
|
15 from alembic import op |
|
16 import sqlalchemy as sa |
|
17 from sqlalchemy.dialects import postgresql |
|
18 |
|
19 def upgrade(): |
|
20 op.add_column('event_session', sa.Column('label', sa.String(length=2048), nullable=True)) |
|
21 op.add_column('event_session', sa.Column('uuid', postgresql.UUID(), nullable=True)) |
|
22 op.create_unique_constraint(None, 'event_session', ['uuid']) |
|
23 event_session = sa.sql.table('event_session', |
|
24 sa.sql.column('id', sa.Integer), |
|
25 sa.sql.column('uuid', postgresql.UUID) |
|
26 ) |
|
27 connection = op.get_bind() |
|
28 for r in connection.execute(event_session.select()): |
|
29 op.execute(event_session.update().values({'uuid':str(uuid.uuid4())}).where(event_session.c.id == r['id'])) |
|
30 op.alter_column('event_session', 'uuid', |
|
31 existing_type=postgresql.UUID(), |
|
32 nullable=False) |
|
33 |
|
34 |
|
35 |
|
36 def downgrade(): |
|
37 ### commands auto generated by Alembic - please adjust! ### |
|
38 op.drop_constraint("event_session_uuid_key", 'event_session') |
|
39 op.drop_column('event_session', 'uuid') |
|
40 op.drop_column('event_session', 'label') |
|
41 ### end Alembic commands ### |