| 12345678910111213141516171819 |
- -- 1.0.581 —— 回填 cancel_requested_flag 的历史 NULL,并把列收口为 NOT NULL。
- -- 背景:该列最早由 CodeFirst 建成可空且无默认值;1.0.580 的 @col_exists 判定为「已存在」,
- -- 于是跳过了它本想建的 NOT NULL DEFAULT 0,列至今仍可空并残留历史 NULL 行。
- -- 实体 AdoModuleDashboardRebuildJob.CancelRequestedFlag 是非空 bool,因此每次启动
- -- CodeFirst 都会执行 `alter ... change column cancel_requested_flag ... NOT NULL`,
- -- 撞上 NULL 行抛 "Invalid use of NULL value";又因 Database.json 里
- -- TableSettings:ContinueInitTableOnEntityFailure=true,异常被降级成 warning 跳过,
- -- 这张表的结构每次启动都是不完整的(见 doc/plan/天缘对接/20260926问题描述.md §七)。
- -- 历史行语义上等同「未请求取消」,回填 0 不改变任何业务判断。
- --
- -- 幂等:UPDATE 命中 0 行即无副作用;MODIFY 到目标定义可重复执行。
- UPDATE ado_module_dashboard_rebuild_job
- SET cancel_requested_flag = 0
- WHERE cancel_requested_flag IS NULL;
- ALTER TABLE ado_module_dashboard_rebuild_job
- MODIFY COLUMN cancel_requested_flag TINYINT(1) NOT NULL DEFAULT 0
- COMMENT '管理员请求协作式取消,阶段边界生效';
|