| 12345678910111213141516171819202122 |
- -- 1.0.505.verify.sql
- -- 契约(由 AutoVersionUpdate.RunVerifyScriptIfExists 逐条执行取首行首列判真):
- -- ① 禁止 SET @var(返回 null 即判失败)→ 一律内联子查询,每条语句自包含
- -- ② 每条返回「通过为真」的标量(用 = 期望值 得 1/0),不得返回错误条数
- -- ③ 一条语句一个断言,不用 UNION 汇总
- -- ④ 文件以最后一条 SQL 的分号结束,末尾不得残留 comment-only 块
- --
- -- 本文件只断言「旧数据已清空」与「没有顺手动别的表」。
- -- 断言 2~4 是刻意的越界防护:本迁移只有一条 DELETE,但把「不该被改的表仍有数据」
- -- 写成断言,能在将来有人往这个脚本里加东西时立刻拦住 —— 一条 DELETE 写错表名的代价,
- -- 是把当前唯一在用的通知配置或规则责任池删空,而那种损失没有回滚点。
- SELECT (SELECT COUNT(*) FROM `ado_s8_notification_layer`) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.TABLES
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'ado_s8_notification_layer') = 1;
- SELECT (SELECT COUNT(*) FROM information_schema.TABLES
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME IN ('ado_s8_notification_recipient','ado_s8_watch_rule',
- 'ado_s8_rule_handler_user','ado_s8_rule_responsibility_user')) = 4;
|