为细胞存储与科研捐赠协议增加 append-only 操作日志,覆盖 Web/小程序 create/update/delete/状态类动作,并在查看弹窗与移动详情提供操作日志入口(Issue #24)。 Co-authored-by: Cursor <cursoragent@cursor.com>
30 lines
1.6 KiB
SQL
30 lines
1.6 KiB
SQL
-- Issue #24:协议单操作过程日志(before / action / after)
|
||
-- MySQL 5.7;可重复执行(CREATE IF NOT EXISTS)。上线前须备份并在目标副本验证。
|
||
-- DDL 隐式提交;该脚本不作为自动应用启动步骤。
|
||
|
||
CREATE TABLE IF NOT EXISTS biz_protocol_operation_log (
|
||
id VARCHAR(64) NOT NULL,
|
||
biz_type VARCHAR(32) NOT NULL COMMENT '业务类型 cell_storage/research_donation',
|
||
biz_id VARCHAR(64) NOT NULL COMMENT '协议单或捐赠单ID',
|
||
protocol_no VARCHAR(64) NULL COMMENT '协议/捐赠编号快照',
|
||
action VARCHAR(32) NOT NULL COMMENT '动作 create/update/delete/void/activate/expire/to_research/to_storage/audit',
|
||
client_channel VARCHAR(16) NOT NULL DEFAULT 'web' COMMENT '来源端 web/mini',
|
||
before_json MEDIUMTEXT NULL COMMENT '操作前协议信息JSON',
|
||
after_json MEDIUMTEXT NULL COMMENT '操作后协议信息JSON',
|
||
operator_user_id VARCHAR(64) NULL COMMENT '操作人用户ID',
|
||
operator_user_name VARCHAR(64) NULL COMMENT '操作人姓名快照',
|
||
operate_time DATETIME NOT NULL COMMENT '业务操作时间',
|
||
tenant_no VARCHAR(64) NOT NULL,
|
||
order_num INT NULL,
|
||
remark VARCHAR(512) NULL,
|
||
create_by VARCHAR(64) NULL,
|
||
create_dept_id VARCHAR(64) NOT NULL DEFAULT '',
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
update_by VARCHAR(64) NULL,
|
||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
del_flag SMALLINT NOT NULL DEFAULT 0,
|
||
PRIMARY KEY (id),
|
||
KEY ix_pol_biz (tenant_no, biz_type, biz_id, del_flag),
|
||
KEY ix_pol_time (tenant_no, operate_time)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|