"""斗鱼 Cookie 有效性检测结果持久化字段 Revision ID: 20260807_0018 Revises: 20260807_0017 Create Date: 2026-08-07 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = "20260807_0018" down_revision: Union[str, None] = "20260807_0017" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: bind = op.get_bind() if not sa.inspect(bind).has_table("login_tasks"): return columns = {column["name"] for column in sa.inspect(bind).get_columns("login_tasks")} for column in [ sa.Column("ck_check_status", sa.String(length=16), nullable=True), sa.Column("ck_check_result", sa.JSON(), nullable=True), sa.Column("ck_checked_at", sa.DateTime(), nullable=True), ]: if column.name not in columns: op.add_column("login_tasks", column) def downgrade() -> None: bind = op.get_bind() if not sa.inspect(bind).has_table("login_tasks"): return columns = {column["name"] for column in sa.inspect(bind).get_columns("login_tasks")} for column_name in ["ck_checked_at", "ck_check_result", "ck_check_status"]: if column_name in columns: op.drop_column("login_tasks", column_name)