"""Add coupling_count to musehub_symbol_vitals. Pre-computed at push time: the number of distinct symbols this symbol co-changes with. Enables the symbol list page to show a coupling score per row without any aggregation at request time. Revision ID: 0032 Revises: 0031 """ from __future__ import annotations from alembic import op import sqlalchemy as sa revision = "0032" down_revision = "0031" branch_labels = None depends_on = None def upgrade() -> None: op.add_column( "musehub_symbol_vitals", sa.Column("coupling_count", sa.Integer, nullable=False, server_default="0"), ) def downgrade() -> None: from sqlalchemy import text op.execute(text("ALTER TABLE IF EXISTS musehub_symbol_vitals DROP COLUMN IF EXISTS coupling_count"))