Blame alembic/versions/b5efae6bb23_add_merge_status_to_the_pull_requests_.py

Pierre-Yves Chibon 23e9a1
"""Add merge status to the pull_requests table
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
Revision ID: b5efae6bb23
Pierre-Yves Chibon 23e9a1
Revises: None
Pierre-Yves Chibon 23e9a1
Create Date: 2015-06-02 16:30:06.199128
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
"""
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
# revision identifiers, used by Alembic.
Pierre-Yves Chibon 23e9a1
revision = 'b5efae6bb23'
Pierre-Yves Chibon 23e9a1
down_revision = None
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
from alembic import op
Pierre-Yves Chibon 23e9a1
from sqlalchemy.dialects.postgresql import ENUM
Pierre-Yves Chibon 23e9a1
import sqlalchemy as sa
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
# Sources for the code: https://bitbucket.org/zzzeek/alembic/issue/67
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
def upgrade():
Pierre-Yves Chibon 23e9a1
    ''' Add the column merge_status to the table pull_requests.
Pierre-Yves Chibon 23e9a1
    '''
Pierre-Yves Chibon 23e9a1
    enum = ENUM('NO_CHANGE', 'FFORWARD', 'CONFLICTS', 'MERGE',
Pierre-Yves Chibon 23e9a1
                name='merge_status_enum', create_type=False)
Pierre-Yves Chibon 23e9a1
    enum.create(op.get_bind(), checkfirst=False)
Pierre-Yves Chibon 23e9a1
    op.add_column(
Pierre-Yves Chibon 23e9a1
        'pull_requests',
Pierre-Yves Chibon 23e9a1
        sa.Column('merge_status', enum, nullable=True)
Pierre-Yves Chibon 23e9a1
    )
Pierre-Yves Chibon 23e9a1
Pierre-Yves Chibon 23e9a1
def downgrade():
Pierre-Yves Chibon 23e9a1
    ''' Remove the column merge_status from the table pull_requests.
Pierre-Yves Chibon 23e9a1
    '''
Pierre-Yves Chibon 23e9a1
    ENUM(name="merge_status_enum").drop(op.get_bind(), checkfirst=False)
Pierre-Yves Chibon 23e9a1
    op.drop_column('pull_requests', 'merge_status')