"""add relationship between revision and status event Revision ID: e66a49285f23 Revises: 090e1bd0d7ce Create Date: 2018-09-04 14:01:31.548665 """ from alembic import op import sqlalchemy as sa from sqlalchemy.orm import sessionmaker from sqlalchemy.dialects import postgresql from atst.models.request import Request # revision identifiers, used by Alembic. revision = 'e66a49285f23' down_revision = '090e1bd0d7ce' branch_labels = None depends_on = None from uuid import UUID def upgrade(): op.add_column('request_status_events', sa.Column('request_revision_id', postgresql.UUID(as_uuid=True))) op.create_foreign_key(None, 'request_status_events', 'request_revisions', ['request_revision_id'], ['id']) Session = sessionmaker(bind=op.get_bind()) session = Session() for request in session.query(Request).all(): for status in request.status_events: status.revision = request.latest_revision session.add(status) session.commit() def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_constraint(None, 'request_status_events', type_='foreignkey') op.drop_column('request_status_events', 'request_revision_id') # ### end Alembic commands ###