"""fix_labels_external_ids Revision ID: 9bee6a667d51 Revises: 8a3e741bbfb8 Create Date: 2020-11-26 16:55:13.360846 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '9bee6a667d51' down_revision = '8a34cb5ee15e' branch_labels = None depends_on = None labels_external_ids = [ {"id": 1, "external_id": "C283", "old_external_id": "D755"}, # Columbia {"id": 2, "external_id": "C284", "old_external_id": "D042"}, # Epic {"id": 3, "external_id": "E009", "old_external_id": "L784"}, # RCA {"id": 4, "external_id": "D179", "old_external_id": "M603"}, # Legacy ] def update_label_spaces(key: str): bind = op.get_bind() meta = sa.MetaData(bind=bind) meta.reflect() labels_table = meta.tables["Label"] for label in labels_external_ids: op.execute(labels_table.update().where(labels_table.c.id == label["id"]).values( external_id=label[key] )) def upgrade(): update_label_spaces("external_id") def downgrade(): update_label_spaces("old_external_id")