diff --git a/alembic/versions/b5efae6bb23_add_merge_status_to_the_pull_requests_.py b/alembic/versions/b5efae6bb23_add_merge_status_to_the_pull_requests_.py new file mode 100644 index 0000000..aa12d31 --- /dev/null +++ b/alembic/versions/b5efae6bb23_add_merge_status_to_the_pull_requests_.py @@ -0,0 +1,35 @@ +"""Add merge status to the pull_requests table + +Revision ID: b5efae6bb23 +Revises: None +Create Date: 2015-06-02 16:30:06.199128 + +""" + +# revision identifiers, used by Alembic. +revision = 'b5efae6bb23' +down_revision = None + +from alembic import op +from sqlalchemy.dialects.postgresql import ENUM +import sqlalchemy as sa + + +# Sources for the code: https://bitbucket.org/zzzeek/alembic/issue/67 + +def upgrade(): + ''' Add the column merge_status to the table pull_requests. + ''' + enum = ENUM('NO_CHANGE', 'FFORWARD', 'CONFLICTS', 'MERGE', + name='merge_status_enum', create_type=False) + enum.create(op.get_bind(), checkfirst=False) + op.add_column( + 'pull_requests', + sa.Column('merge_status', enum, nullable=True) + ) + +def downgrade(): + ''' Remove the column merge_status from the table pull_requests. + ''' + ENUM(name="merge_status_enum").drop(op.get_bind(), checkfirst=False) + op.drop_column('pull_requests', 'merge_status') diff --git a/pagure/lib/model.py b/pagure/lib/model.py index 44b9fa3..536c698 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -663,6 +663,11 @@ class PullRequest(BASE): sa.ForeignKey('users.id', onupdate='CASCADE'), nullable=True, index=True) + merge_status = sa.Column( + sa.Enum( + 'NO_CHANGE', 'FFORWARD', 'CONFLICTS', 'MERGE', + name='merge_status_enum'), + nullable=True) status = sa.Column(sa.Boolean, nullable=False, default=True)