| """add last_update to issues and pull-requests |
| |
| Revision ID: 114d3a68c1fd |
| Revises: 5083efccac7 |
| Create Date: 2016-11-15 11:02:30.652540 |
| |
| """ |
| |
| |
| revision = '114d3a68c1fd' |
| down_revision = '5083efccac7' |
| |
| from alembic import op |
| import sqlalchemy as sa |
| import datetime |
| |
| |
| def upgrade(): |
| ''' Add the column last_updated to the table issues/pull-requests |
| ''' |
| op.add_column( |
| 'issues', |
| sa.Column('last_updated', sa.DateTime, nullable=True, |
| default=datetime.datetime.utcnow, |
| onupdate=datetime.datetime.utcnow) |
| ) |
| |
| op.execute(''' |
| UPDATE "issues" SET last_updated=o_date |
| FROM ( |
| SELECT issue_uid, GREATEST(date_created, edited_on) AS o_date |
| FROM issue_comments |
| ORDER BY o_date DESC |
| ) AS subq |
| WHERE "issues".uid = issue_uid;''') |
| |
| op.execute('''UPDATE "issues" SET last_updated=date_created ''' |
| '''WHERE last_updated IS NULL;''') |
| |
| op.alter_column( |
| 'issues', 'last_updated', |
| nullable=False, existing_nullable=True) |
| |
| op.add_column( |
| 'pull_requests', |
| sa.Column('last_updated', sa.DateTime, nullable=True, |
| default=datetime.datetime.utcnow, |
| onupdate=datetime.datetime.utcnow) |
| ) |
| |
| op.execute(''' |
| UPDATE "pull_requests" SET last_updated=o_date |
| FROM ( |
| SELECT pull_request_uid, GREATEST(date_created, edited_on) AS o_date |
| FROM pull_request_comments |
| ORDER BY o_date DESC |
| ) AS subq |
| WHERE "pull_requests".uid = pull_request_uid;''') |
| |
| op.execute('''UPDATE "pull_requests" SET last_updated=date_created ''' |
| '''WHERE last_updated IS NULL;''') |
| |
| op.alter_column( |
| 'pull_requests', 'last_updated', |
| nullable=False, existing_nullable=True) |
| |
| |
| def downgrade(): |
| ''' Drop the column last_update from the table issues/pull-requests |
| ''' |
| op.drop_column('issues', 'last_updated') |
| op.drop_column('pull_requests', 'last_updated') |