"""Add compliance fields: training_opt_out on repos, tos_accepted_at/tos_version on identities. Revision ID: 0023 Revises: 0022 """ from __future__ import annotations import sqlalchemy as sa from alembic import op revision = "0023" down_revision = "0022" branch_labels = None depends_on = None def upgrade() -> None: # training opt-out flag on repos op.add_column( "musehub_repos", sa.Column("training_opt_out", sa.Boolean(), nullable=False, server_default="false"), ) # ToS acceptance record on identities op.add_column( "musehub_identities", sa.Column("tos_accepted_at", sa.DateTime(timezone=True), nullable=True), ) op.add_column( "musehub_identities", sa.Column("tos_version", sa.String(16), nullable=True), ) def downgrade() -> None: op.drop_column("musehub_repos", "training_opt_out") op.drop_column("musehub_identities", "tos_version") op.drop_column("musehub_identities", "tos_accepted_at")