1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- Ticket25:控制台三类数据的一次用户行为修订、覆盖状态和物理删除支持。
CREATE TABLE t_test_data_revision_action (
    action_id BIGINT NOT NULL AUTO_INCREMENT,
    test_id BIGINT NOT NULL,
    data_type VARCHAR(16) NOT NULL,
    operation_type VARCHAR(16) NOT NULL,
    scope_summary VARCHAR(1000) NOT NULL,
    identity_summary JSON NOT NULL,
    changes_summary JSON NULL,
    reason VARCHAR(500) NOT NULL,
    operator_id BIGINT NULL,
    operator_name VARCHAR(64) NOT NULL,
    created_at_utc DATETIME(3) NOT NULL,
    PRIMARY KEY (action_id),
    KEY idx_data_revision_test_time (test_id, data_type, created_at_utc),
    CONSTRAINT fk_data_revision_test FOREIGN KEY (test_id) REFERENCES t_test (test_id),
    CONSTRAINT chk_data_revision_type CHECK (data_type IN ('REALTIME', 'STEP', 'CYCLE')),
    CONSTRAINT chk_data_revision_operation CHECK (operation_type IN ('EDIT', 'IMPORT', 'DELETE')),
    CONSTRAINT chk_data_revision_reason CHECK (CHAR_LENGTH(TRIM(reason)) > 0)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试控制台一次数据修订行为';
 
CREATE TABLE t_test_data_override (
    override_id BIGINT NOT NULL AUTO_INCREMENT,
    test_id BIGINT NOT NULL,
    data_type VARCHAR(16) NOT NULL,
    stable_identity VARCHAR(512) NOT NULL,
    field_values JSON NULL,
    deleted TINYINT(1) NOT NULL DEFAULT 0,
    action_id BIGINT NOT NULL,
    created_at_utc DATETIME(3) NOT NULL,
    PRIMARY KEY (override_id),
    UNIQUE KEY uk_data_override_identity (test_id, data_type, stable_identity),
    KEY idx_data_override_action (action_id),
    CONSTRAINT fk_data_override_test FOREIGN KEY (test_id) REFERENCES t_test (test_id),
    CONSTRAINT fk_data_override_action FOREIGN KEY (action_id) REFERENCES t_test_data_revision_action (action_id),
    CONSTRAINT chk_data_override_type CHECK (data_type IN ('REALTIME', 'STEP', 'CYCLE'))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='控制台数据最新人工覆盖或删除状态';