diff --git a/offline-backend-20260512/backend/packages/harness/deerflow/persistence/task_buttons/model.py b/offline-backend-20260512/backend/packages/harness/deerflow/persistence/task_buttons/model.py index 838eadc0..be18d180 100644 --- a/offline-backend-20260512/backend/packages/harness/deerflow/persistence/task_buttons/model.py +++ b/offline-backend-20260512/backend/packages/harness/deerflow/persistence/task_buttons/model.py @@ -50,7 +50,10 @@ class TaskButtonRow(Base): open_mode: Mapped[str | None] = mapped_column(String(16), default="blank") # ``url`` 跳转是否追加登录态(token 登录的上游 token + 登录用户名),供外链所在的外部系统 # 校验当前登录用户。仅 token 登录(前端存有 token1)时实际拼上;非 token 登录自动跳过。 - append_auth: Mapped[bool] = mapped_column(Boolean, default=False) + # ``server_default`` 必须显式声明:否则在已存在 ``task_buttons`` 表的旧库上, + # 启动期自动补列 ``_ensure_orm_columns_sync`` 会跳过「NOT NULL 且无 server_default」 + # 的列(见 engine.py),导致该列永远补不上 → GET 查询报 Unknown column → 500。 + append_auth: Mapped[bool] = mapped_column(Boolean, default=False, server_default="0") # 追加 token / 用户名的查询参数名。可空,读时归一化为 ``token`` / ``username``。 auth_token_param: Mapped[str | None] = mapped_column(String(64), default="token") auth_name_param: Mapped[str | None] = mapped_column(String(64), default="username")