Blame alembic/versions/1d18843a1994_add_is_fork_column_to_projects.py

farhaanbukhsh d0c53a
"""Add is_fork column to projects
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
Revision ID: 1d18843a1994
Farhaan Bukhsh 874f86
Revises: 32d636cb5e00
farhaanbukhsh d0c53a
Create Date: 2016-07-17 22:02:14.495146
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
"""
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
# revision identifiers, used by Alembic.
farhaanbukhsh d0c53a
revision = '1d18843a1994'
Farhaan Bukhsh 874f86
down_revision = '32d636cb5e00'
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
from alembic import op
farhaanbukhsh d0c53a
import sqlalchemy as sa
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
def upgrade():
farhaanbukhsh d0c53a
    ''' Add is_fork column to project table'''
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
    op.add_column(
farhaanbukhsh d0c53a
        'projects',
farhaanbukhsh d0c53a
        sa.Column(
farhaanbukhsh 778e69
            'is_fork', sa.Boolean,
farhaanbukhsh d0c53a
            default=False,
farhaanbukhsh d0c53a
            nullable=True)
farhaanbukhsh d0c53a
    )
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
    op.execute('''UPDATE "projects" '''
farhaanbukhsh 778e69
               '''SET is_fork=TRUE WHERE parent_id IS NOT NULL;''')
farhaanbukhsh d0c53a
    op.execute('''UPDATE "projects" '''
farhaanbukhsh 778e69
               '''SET is_fork=FALSE WHERE parent_id IS NULL;''')
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
    op.alter_column(
farhaanbukhsh 778e69
        'projects', 'is_fork',
farhaanbukhsh d0c53a
        nullable=False, existing_nullable=True)
farhaanbukhsh d0c53a
farhaanbukhsh d0c53a
def downgrade():
farhaanbukhsh d0c53a
    ''' Revert the _is_fork column added'''
farhaanbukhsh 5e95da
    op.drop_column('projects', 'is_fork')