"""drop user.force_onboarding column force_onboarding(运营「按用户」强制新手引导)机制废弃:客户端实际按 onboarding_completion (设备+账号 维度)判断是否走引导,该 force_onboarding 列从未被客户端正确响应(被 onboarding_completed 压过)。改用 admin「设备维度」重置(删 onboarding_completion 记录)替代, 见 app/admin/routers/onboarding.py。本迁移删列。 Revision ID: drop_force_onboarding Revises: 9b894f5fff05 Create Date: 2026-06-12 00:00:00.000000 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = "drop_force_onboarding" down_revision: Union[str, Sequence[str], None] = "9b894f5fff05" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.drop_column("user", "force_onboarding") def downgrade() -> None: # 回滚:重建列(同 user_force_onboarding 迁移的 upgrade)。sa.false() 两端兼容。 op.add_column( "user", sa.Column( "force_onboarding", sa.Boolean(), nullable=False, server_default=sa.false(), ), )