61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
|
"""Change the status of pull_requests
|
||
|
|
||
|
|
||
|
Revision ID: 298891e63039
|
||
|
Revises: 3c25e14b855b
|
||
|
Create Date: 2015-06-08 13:06:11.938966
|
||
|
|
||
|
"""
|
||
|
|
||
|
# revision identifiers, used by Alembic.
|
||
|
revision = '298891e63039'
|
||
|
down_revision = '3c25e14b855b'
|
||
|
|
||
|
from alembic import op
|
||
|
import sqlalchemy as sa
|
||
|
|
||
|
|
||
|
def upgrade():
|
||
|
''' Adjust the status column of the pull_requests table.
|
||
|
'''
|
||
|
op.add_column(
|
||
|
'pull_requests',
|
||
|
sa.Column(
|
||
|
'_status', sa.Text,
|
||
|
sa.ForeignKey(
|
||
|
'status_pull_requests.status', onupdate='CASCADE'),
|
||
|
default='Open',
|
||
|
nullable=True)
|
||
|
)
|
||
|
|
||
|
op.execute('''UPDATE "pull_requests" '''
|
||
|
'''SET _status='Open' WHERE status=TRUE;''')
|
||
|
op.execute('''UPDATE "pull_requests" '''
|
||
|
'''SET _status='Merged' WHERE status=FALSE;''')
|
||
|
|
||
|
op.drop_column('pull_requests', 'status')
|
||
|
op.alter_column(
|
||
|
'pull_requests',
|
||
|
column_name='_status', new_column_name='status',
|
||
|
nullable=False, existing_nullable=True)
|
||
|
|
||
|
|
||
|
def downgrade():
|
||
|
''' Revert the status column of the pull_requests table.
|
||
|
'''
|
||
|
op.add_column(
|
||
|
'pull_requests',
|
||
|
sa.Column(
|
||
|
'_status', sa.Boolean, default=True, nullable=True)
|
||
|
)
|
||
|
op.execute('''UPDATE "pull_requests" '''
|
||
|
'''SET _status=TRUE WHERE status='Open';''')
|
||
|
op.execute('''UPDATE "pull_requests" '''
|
||
|
'''SET _status=FALSE WHERE status!='Open';''')
|
||
|
|
||
|
op.drop_column('pull_requests', 'status')
|
||
|
op.alter_column(
|
||
|
'pull_requests',
|
||
|
column_name='_status', new_column_name='status',
|
||
|
nullable=False, existing_nullable=True)
|