新增门禁:实现访问授权编排
This commit is contained in:
1 parent
bb16b0b875
commit
20c5d494cf
22 files changed
+2306
-7
No files matched your search
@@ -0,0 +1,31 @@
|
||||
-- ==============================================================================
|
||||
-- 脚本名称: 009_dorm_authorization_orchestration.sql
|
||||
-- 业务模块: DMS/外部物联网集成 - 宿舍门禁业务授权编排扩展模型 (R.3B Wave 3A)
|
||||
-- 适用数据库: KingbaseES V8 / V9 (PostgreSQL 方言兼容)
|
||||
-- 安全编号: 009 (001-003 基线, 004-005 R.2分支占用, 006 Wave0, 007 保留禁止执行, 008 Wave1)
|
||||
-- 幂等性设计: 支持重复安全执行,纯增量列结构与索引,不含破坏性语句
|
||||
-- 安全红线: 严禁引入明文密码列,密码仅在内存短暂留存,严禁落库
|
||||
-- ==============================================================================
|
||||
|
||||
-- 1. 扩展 train_dorm_auth 业务授权字段(增量列添加,防冲突幂等设计)
|
||||
|
||||
-- 1.1 凭据类型列 (默认 ONLINE_PASSWORD,未来可扩展 QR, CARD, MOBILE_KEY)
|
||||
ALTER TABLE train_dorm_auth ADD COLUMN IF NOT EXISTS credential_type VARCHAR(32) DEFAULT 'ONLINE_PASSWORD' NOT NULL;
|
||||
COMMENT ON COLUMN train_dorm_auth.credential_type IS '凭据类型 (ONLINE_PASSWORD 在线密码, QR 二维码, CARD 卡片, MOBILE_KEY 手机钥匙)';
|
||||
|
||||
-- 1.2 厂商中立业务授权状态列 (从历史 face_sync_status 进化为语义严谨的独立业务状态)
|
||||
-- 状态枚举:PENDING_GRANT(待下发), GRANTING(下发中), ACTIVE(已生效), PENDING_REVOKE(待注销), REVOKING(注销中), REVOKED(已注销), ERROR(下发或注销失败)
|
||||
ALTER TABLE train_dorm_auth ADD COLUMN IF NOT EXISTS auth_status VARCHAR(32) DEFAULT 'PENDING_GRANT' NOT NULL;
|
||||
COMMENT ON COLUMN train_dorm_auth.auth_status IS '业务授权状态 (PENDING_GRANT, GRANTING, ACTIVE, PENDING_REVOKE, REVOKING, REVOKED, ERROR)';
|
||||
|
||||
-- 1.3 关联外部操作流水ID (用于关联并追踪当前最新驱动的 ExternalOperation)
|
||||
ALTER TABLE train_dorm_auth ADD COLUMN IF NOT EXISTS latest_operation_id BIGINT;
|
||||
COMMENT ON COLUMN train_dorm_auth.latest_operation_id IS '最近一次绑定的外部操作流水ID (关联 train_external_operation.operation_id)';
|
||||
|
||||
-- 1.4 授权操作世代/版本号 (用于防旧操作晚到结果覆盖更新状态,保证操作时序单调性)
|
||||
ALTER TABLE train_dorm_auth ADD COLUMN IF NOT EXISTS operation_version INTEGER DEFAULT 1 NOT NULL;
|
||||
COMMENT ON COLUMN train_dorm_auth.operation_version IS '授权操作版本号 (乐观并发与迟到操作防覆写防护)';
|
||||
|
||||
-- 2. 索引优化 (幂等添加)
|
||||
CREATE INDEX IF NOT EXISTS idx_dorm_auth_status ON train_dorm_auth (auth_status);
|
||||
CREATE INDEX IF NOT EXISTS idx_dorm_auth_latest_op ON train_dorm_auth (latest_operation_id);
|
||||
Reference in new issue
Block a user