"""Add updated_at to musehub_repos, musehub_proposals, musehub_webhooks, musehub_releases. These are the highest-traffic mutable tables that were missing updated_at — required for audit trails and cache invalidation. Revision ID: 0020 Revises: 0019 """ from __future__ import annotations import sqlalchemy as sa from alembic import op revision = "0020" down_revision = "0019" branch_labels = None depends_on = None _TABLES = [ "musehub_repos", "musehub_proposals", "musehub_webhooks", "musehub_releases", ] def upgrade() -> None: for table in _TABLES: op.add_column( table, sa.Column( "updated_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now(), ), ) def downgrade() -> None: for table in _TABLES: op.drop_column(table, "updated_at")