Blame alembic/versions/5179e99d35a5_add_lock_types.py
|
Patrick Uiterwijk |
7b9080 |
"""Add lock types
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
Revision ID: 5179e99d35a5
|
|
Patrick Uiterwijk |
7b9080 |
Revises: d4d2c5aa8a0
|
|
Patrick Uiterwijk |
7b9080 |
Create Date: 2017-05-30 14:47:55.063908
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
"""
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
# revision identifiers, used by Alembic.
|
|
Patrick Uiterwijk |
7b9080 |
revision = '5179e99d35a5'
|
|
Patrick Uiterwijk |
7b9080 |
down_revision = 'd4d2c5aa8a0'
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
from alembic import op
|
|
Patrick Uiterwijk |
7b9080 |
import sqlalchemy as sa
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
def upgrade():
|
|
Patrick Uiterwijk |
7b9080 |
op.create_table(
|
|
Patrick Uiterwijk |
7b9080 |
'project_locks',
|
|
Patrick Uiterwijk |
7b9080 |
sa.Column('project_id',
|
|
Patrick Uiterwijk |
7b9080 |
sa.Integer,
|
|
Patrick Uiterwijk |
7b9080 |
sa.ForeignKey(
|
|
Patrick Uiterwijk |
7b9080 |
'projects.id', onupdate='CASCADE', ondelete='CASCADE'
|
|
Patrick Uiterwijk |
7b9080 |
),
|
|
Patrick Uiterwijk |
7b9080 |
nullable=False,
|
|
Patrick Uiterwijk |
7b9080 |
primary_key=True
|
|
Patrick Uiterwijk |
7b9080 |
),
|
|
Patrick Uiterwijk |
7b9080 |
sa.Column('lock_type',
|
|
Patrick Uiterwijk |
7b9080 |
sa.Enum(
|
|
Patrick Uiterwijk |
7b9080 |
'WORKER',
|
|
Patrick Uiterwijk |
7b9080 |
name='lock_type_enum'
|
|
Patrick Uiterwijk |
7b9080 |
),
|
|
Patrick Uiterwijk |
7b9080 |
nullable=False,
|
|
Patrick Uiterwijk |
7b9080 |
primary_key=True
|
|
Patrick Uiterwijk |
7b9080 |
)
|
|
Patrick Uiterwijk |
7b9080 |
)
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
# Add WORKER locks everywhere
|
|
Patrick Uiterwijk |
7b9080 |
conn = op.get_bind()
|
|
Patrick Uiterwijk |
7b9080 |
conn.execute("""INSERT INTO project_locks (project_id, lock_type)
|
|
Patrick Uiterwijk |
7b9080 |
SELECT id, 'WORKER' from projects""")
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
|
|
Patrick Uiterwijk |
7b9080 |
def downgrade():
|
|
Patrick Uiterwijk |
7b9080 |
op.drop_table('project_locks')
|