diff --git a/alembic/versions/ee8d5b76e817_add_closed_at_in_issues.py b/alembic/versions/ee8d5b76e817_add_closed_at_in_issues.py new file mode 100644 index 0000000..28eafdb --- /dev/null +++ b/alembic/versions/ee8d5b76e817_add_closed_at_in_issues.py @@ -0,0 +1,26 @@ +"""add_closed_at_in_issues + +Revision ID: ee8d5b76e817 +Revises: 317a285e04a8 +Create Date: 2016-06-28 18:04:05.539319 + +""" + +# revision identifiers, used by Alembic. +revision = 'ee8d5b76e817' +down_revision = '317a285e04a8' + +from alembic import op +import sqlalchemy as sa + +def upgrade(): + ''' Add closed_at column in issues table ''' + op.add_column( + 'issues', + sa.Column('closed_at', sa.DateTime, nullable=True) + ) + + +def downgrade(): + ''' Remove the closed_at column in issues table ''' + op.drop_column('issues', 'closed_at') diff --git a/pagure/lib/model.py b/pagure/lib/model.py index a87f035..93f9379 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -565,6 +565,8 @@ class Issue(BASE): date_created = sa.Column(sa.DateTime, nullable=False, default=datetime.datetime.utcnow) + closed_at = sa.Column(sa.DateTime, nullable=True) + project = relation( 'Project', foreign_keys=[project_id], remote_side=[Project.id], backref=backref( @@ -632,6 +634,8 @@ class Issue(BASE): 'content': self.content, 'status': self.status, 'date_created': self.date_created.strftime('%s'), + 'closed_at': self.closed_at.strftime( + '%s') if self.closed_at else None, 'user': self.user.to_json(public=public), 'private': self.private, 'tags': self.tags_text,