-- 最终业务数据库基线(Ticket03)。本脚本只创建结构,不导入演示业务数据。 -- 业务关联由事务、删除顺序、唯一约束和索引维护,不建立物理外键。 SET NAMES utf8mb4; SET time_zone = '+00:00'; CREATE TABLE t_battery_group ( group_id BIGINT NOT NULL AUTO_INCREMENT, group_name VARCHAR(100) NOT NULL, model VARCHAR(100) NOT NULL, purpose VARCHAR(500) NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (group_id), UNIQUE KEY uk_battery_group_name_del (group_name, del_flag), KEY idx_battery_group_status (status, del_flag, create_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电池组'; CREATE TABLE t_battery_group_battery ( relation_id BIGINT NOT NULL AUTO_INCREMENT, group_id BIGINT NOT NULL, battery_no VARCHAR(100) NOT NULL, sort_order INT NOT NULL DEFAULT 0, del_flag TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (relation_id), UNIQUE KEY uk_group_battery_no_del (group_id, battery_no, del_flag), KEY idx_group_battery (group_id, del_flag, sort_order) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电池组电池号'; CREATE TABLE t_battery_group_field ( field_id BIGINT NOT NULL AUTO_INCREMENT, field_name VARCHAR(100) NOT NULL, field_type VARCHAR(20) NOT NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (field_id), UNIQUE KEY uk_battery_group_field_name_del (field_name, del_flag), KEY idx_battery_group_field_status (status, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='业务字段定义'; CREATE TABLE t_battery_group_template ( template_id BIGINT NOT NULL AUTO_INCREMENT, template_name VARCHAR(100) NOT NULL, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, PRIMARY KEY (template_id), UNIQUE KEY uk_battery_group_template_name (template_name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电池组字段模板'; CREATE TABLE t_battery_group_template_field ( relation_id BIGINT NOT NULL AUTO_INCREMENT, template_id BIGINT NOT NULL, field_id BIGINT NOT NULL, sort_order INT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), del_flag TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (relation_id), UNIQUE KEY uk_template_field_del (template_id, field_id, del_flag), KEY idx_template_field_order (template_id, del_flag, sort_order) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模板字段关系'; CREATE TABLE t_battery_group_relation_field ( relation_id BIGINT NOT NULL AUTO_INCREMENT, group_id BIGINT NOT NULL, template_id BIGINT NULL, battery_group_field_id BIGINT NOT NULL, field_value VARCHAR(500) NULL, del_flag TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (relation_id), UNIQUE KEY uk_group_field_del (group_id, battery_group_field_id, del_flag), KEY idx_group_relation_field (group_id, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电池组当前字段值'; CREATE TABLE t_device_adapter ( adapter_id BIGINT NOT NULL AUTO_INCREMENT, adapter_code VARCHAR(64) NOT NULL, adapter_name VARCHAR(100) NOT NULL, adapter_type VARCHAR(32) NOT NULL, host VARCHAR(255) NOT NULL, port INT NOT NULL, poll_interval_ms INT NOT NULL DEFAULT 5000, timezone_id VARCHAR(64) NOT NULL DEFAULT 'Asia/Hong_Kong', read_only TINYINT(1) NOT NULL DEFAULT 1, capabilities JSON NOT NULL, connection_status VARCHAR(16) NOT NULL DEFAULT 'OFFLINE', last_error_code VARCHAR(64) NULL, last_error_message VARCHAR(500) NULL, last_attempt_at_utc DATETIME(3) NULL, last_observed_at_utc DATETIME(3) NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (adapter_id), UNIQUE KEY uk_adapter_code_del (adapter_code, del_flag), KEY idx_adapter_connection (connection_status, status, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='设备适配器实例'; CREATE TABLE t_detection_cabinet ( cabinet_id BIGINT NOT NULL AUTO_INCREMENT, adapter_id BIGINT NOT NULL, cabinet_code VARCHAR(64) NOT NULL, cabinet_name VARCHAR(100) NOT NULL, manufacturer VARCHAR(100) NULL, model VARCHAR(100) NULL, capacity DECIMAL(10,2) NOT NULL DEFAULT 1, channel_count INT NOT NULL DEFAULT 1, vendor_device_type INT NOT NULL, vendor_device_id INT NOT NULL, ip_address VARCHAR(45) NULL, mac_address VARCHAR(64) NULL, registration_status VARCHAR(16) NOT NULL DEFAULT 'REGISTERED', online_status VARCHAR(16) NOT NULL DEFAULT 'OFFLINE', last_seen_at_utc DATETIME(3) NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (cabinet_id), UNIQUE KEY uk_cabinet_code_del (cabinet_code, del_flag), UNIQUE KEY uk_cabinet_vendor_identity (adapter_id, vendor_device_type, vendor_device_id, del_flag), KEY idx_cabinet_status (registration_status, online_status, status, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='检测柜'; CREATE TABLE t_detection_channel ( channel_id BIGINT NOT NULL AUTO_INCREMENT, adapter_id BIGINT NOT NULL, cabinet_id BIGINT NOT NULL, devtype INT NOT NULL, devid INT NOT NULL, subdevid INT NOT NULL, chlid INT NOT NULL, display_no VARCHAR(64) NULL, online_status VARCHAR(16) NOT NULL DEFAULT 'OFFLINE', work_status VARCHAR(32) NOT NULL DEFAULT 'UNOBSERVABLE', last_seen_at_utc DATETIME(3) NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_time DATETIME(3) NULL, PRIMARY KEY (channel_id), UNIQUE KEY uk_channel_stable_identity (adapter_id, devtype, devid, subdevid, chlid, del_flag), KEY idx_channel_cabinet (cabinet_id, status, del_flag), KEY idx_channel_observed (online_status, work_status, last_seen_at_utc) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='检测柜通道事实'; CREATE TABLE t_collector ( collector_id BIGINT NOT NULL AUTO_INCREMENT, collector_code VARCHAR(64) NOT NULL, collector_name VARCHAR(100) NOT NULL, adapter_id BIGINT NULL, ip_address VARCHAR(45) NULL, mac_address VARCHAR(64) NULL, manufacturer VARCHAR(100) NULL, model VARCHAR(100) NULL, channel_count INT NOT NULL DEFAULT 0, online_status VARCHAR(16) NOT NULL DEFAULT 'OFFLINE', last_seen_at_utc DATETIME(3) NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (collector_id), UNIQUE KEY uk_collector_code_del (collector_code, del_flag), KEY idx_collector_status (online_status, status, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='采集器'; CREATE TABLE t_test_type ( test_type_id BIGINT NOT NULL AUTO_INCREMENT, test_type_name VARCHAR(100) NOT NULL, status CHAR(1) NOT NULL DEFAULT '0', del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (test_type_id), UNIQUE KEY uk_test_type_name_del (test_type_name, del_flag), KEY idx_test_type_status (status, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试类型'; CREATE TABLE t_test ( test_id BIGINT NOT NULL AUTO_INCREMENT, test_name VARCHAR(100) NOT NULL, creator_id BIGINT NOT NULL, principal_id BIGINT NOT NULL, test_type_id BIGINT NOT NULL, test_purpose TEXT NOT NULL, test_status VARCHAR(32) NOT NULL DEFAULT 'WAITING', reception_status VARCHAR(32) NOT NULL DEFAULT 'NOT_STARTED', monitor_timeout_minutes INT NOT NULL DEFAULT 30, started_at_utc DATETIME(3) NULL, ended_at_utc DATETIME(3) NULL, logic_step_mappings_json JSON NULL, console_detail_json JSON NULL, del_flag TINYINT NOT NULL DEFAULT 0, create_by VARCHAR(64) NOT NULL DEFAULT '', create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_by VARCHAR(64) NOT NULL DEFAULT '', update_time DATETIME(3) NULL, remark VARCHAR(500) NULL, PRIMARY KEY (test_id), UNIQUE KEY uk_test_name_del (test_name, del_flag), KEY idx_test_status_time (test_status, reception_status, create_time), KEY idx_test_principal (principal_id, test_status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试'; CREATE TABLE t_test_battery ( test_battery_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, group_id BIGINT NOT NULL, battery_no VARCHAR(100) NOT NULL, collector_id BIGINT NOT NULL, del_flag TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (test_battery_id), UNIQUE KEY uk_test_battery_no_del (test_id, battery_no, del_flag), KEY idx_test_battery_group (group_id, del_flag), KEY idx_test_battery_test (test_id, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试电池号'; CREATE TABLE t_test_channel_binding ( binding_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NOT NULL, channel_id BIGINT NOT NULL, expected_barcode VARCHAR(100) NULL, claim_status VARCHAR(32) NOT NULL DEFAULT 'PENDING', claimed_at_utc DATETIME(3) NULL, released_at_utc DATETIME(3) NULL, PRIMARY KEY (binding_id), UNIQUE KEY uk_test_binding_battery (test_id, test_battery_id), UNIQUE KEY uk_test_binding_channel (test_id, channel_id), KEY idx_binding_channel (channel_id, claim_status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试检测柜通道绑定'; CREATE TABLE t_test_collector_channel ( mapping_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NOT NULL, collector_id BIGINT NOT NULL, measurement_code VARCHAR(100) NOT NULL, measurement_name VARCHAR(100) NULL, channel_code VARCHAR(100) NOT NULL, PRIMARY KEY (mapping_id), UNIQUE KEY uk_test_collector_measurement (test_id, test_battery_id, measurement_code), UNIQUE KEY uk_test_collector_channel (test_id, collector_id, channel_code), KEY idx_test_collector_battery (test_battery_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试采集器通道绑定'; CREATE TABLE t_test_warning_threshold ( threshold_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, metric_code VARCHAR(100) NOT NULL, min_value DECIMAL(30,12) NULL, max_value DECIMAL(30,12) NULL, unit VARCHAR(32) NOT NULL DEFAULT '', severity VARCHAR(32) NOT NULL DEFAULT 'WARNING', del_flag TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (threshold_id), UNIQUE KEY uk_test_threshold (test_id, metric_code, del_flag), KEY idx_threshold_test (test_id, severity) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试预警阈值'; CREATE TABLE t_test_realtime_record ( record_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NOT NULL, binding_id BIGINT NOT NULL, adapter_code VARCHAR(64) NOT NULL, cabinet_devtype INT NULL, cabinet_devid INT NULL, cabinet_subdevid INT NULL, cabinet_chlid INT NULL, cabinet_sequence_id BIGINT NULL, cabinet_device_time_utc DATETIME(3) NULL, cabinet_device_time_raw VARCHAR(64) NULL, cabinet_adapter_timezone_id VARCHAR(64) NULL, collector_id BIGINT NULL, collector_channel_code VARCHAR(100) NULL, collector_sequence_id BIGINT NULL, collector_device_time_utc DATETIME(3) NULL, collector_device_time_raw VARCHAR(64) NULL, collector_adapter_timezone_id VARCHAR(64) NULL, capture_slot_utc DATETIME(3) NOT NULL, server_received_at_utc DATETIME(3) NOT NULL, cycle_no INT NULL, step_no INT NULL, step_type VARCHAR(64) NULL, step_name VARCHAR(191) NULL, voltage_v DECIMAL(30,12) NULL, current_a DECIMAL(30,12) NULL, capacity_ah DECIMAL(30,12) NULL, energy_wh DECIMAL(30,12) NULL, temperature DECIMAL(30,12) NULL, positive_potential DECIMAL(30,12) NULL, negative_potential DECIMAL(30,12) NULL, extension_measurements_json JSON NULL, content_sha256 BINARY(32) NOT NULL, PRIMARY KEY (record_id), UNIQUE KEY uk_realtime_slot (test_id, test_battery_id, capture_slot_utc), KEY idx_realtime_test_time (test_id, capture_slot_utc), KEY idx_realtime_binding_time (binding_id, server_received_at_utc) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='实时采样记录'; CREATE TABLE t_test_step_record ( step_record_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NOT NULL, adapter_code VARCHAR(64) NOT NULL, source_identity VARCHAR(256) NOT NULL, source_record_id VARCHAR(128) NULL, adapter_timezone_id VARCHAR(64) NOT NULL, device_time_utc DATETIME(3) NOT NULL, device_time_raw VARCHAR(64) NOT NULL, cycle_no INT NOT NULL, step_no INT NOT NULL, step_type VARCHAR(64) NULL, step_name VARCHAR(191) NULL, voltage_v DECIMAL(30,12) NULL, current_a DECIMAL(30,12) NULL, capacity_ah DECIMAL(30,12) NULL, energy_wh DECIMAL(30,12) NULL, extension_measurements_json JSON NULL, content_sha256 BINARY(32) NOT NULL, PRIMARY KEY (step_record_id), UNIQUE KEY uk_step_identity (test_battery_id, source_identity, source_record_id, device_time_utc, cycle_no, step_no), KEY idx_step_test_order (test_id, test_battery_id, cycle_no, step_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工步记录'; CREATE TABLE t_test_cycle_record ( cycle_record_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NOT NULL, adapter_code VARCHAR(64) NOT NULL, source_identity VARCHAR(256) NOT NULL, source_record_id VARCHAR(128) NULL, adapter_timezone_id VARCHAR(64) NOT NULL, device_time_utc DATETIME(3) NOT NULL, device_time_raw VARCHAR(64) NOT NULL, cycle_no INT NOT NULL, charge_capacity_ah DECIMAL(30,12) NULL, discharge_capacity_ah DECIMAL(30,12) NULL, charge_energy_wh DECIMAL(30,12) NULL, discharge_energy_wh DECIMAL(30,12) NULL, efficiency DECIMAL(30,12) NULL, extension_measurements_json JSON NULL, content_sha256 BINARY(32) NOT NULL, PRIMARY KEY (cycle_record_id), UNIQUE KEY uk_cycle_identity (test_battery_id, source_identity, source_record_id, device_time_utc, cycle_no), KEY idx_cycle_test_order (test_id, test_battery_id, cycle_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='循环记录'; CREATE TABLE t_test_logic_step_mapping ( mapping_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, logical_no INT NOT NULL, logical_name VARCHAR(191) NOT NULL, start_step_no INT NOT NULL, end_step_no INT NOT NULL, PRIMARY KEY (mapping_id), UNIQUE KEY uk_logic_step_no (test_id, logical_no), KEY idx_logic_step_range (test_id, start_step_no, end_step_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试逻辑工步映射'; 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, before_content_json JSON 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) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试数据修订动作'; CREATE TABLE t_test_warning_exception ( exception_id BIGINT NOT NULL AUTO_INCREMENT, test_id BIGINT NOT NULL, test_battery_id BIGINT NULL, threshold_id BIGINT NOT NULL, source_type VARCHAR(32) NOT NULL, source_identity VARCHAR(256) NOT NULL, metric_code VARCHAR(100) NOT NULL, abnormal_value DECIMAL(30,12) NULL, unit VARCHAR(32) NOT NULL DEFAULT '', rule_snapshot JSON NOT NULL, severity VARCHAR(32) NOT NULL DEFAULT 'WARNING', exception_status VARCHAR(16) NOT NULL DEFAULT 'OPEN', first_occurred_at_utc DATETIME(3) NOT NULL, last_occurred_at_utc DATETIME(3) NOT NULL, occurrence_count BIGINT NOT NULL DEFAULT 1, handled_by BIGINT NULL, handled_at_utc DATETIME(3) NULL, handling_note VARCHAR(1000) NULL, open_dedupe_key VARCHAR(512) GENERATED ALWAYS AS (CASE WHEN exception_status = 'OPEN' THEN CONCAT(test_id, ':', threshold_id, ':', metric_code) ELSE NULL END) STORED, PRIMARY KEY (exception_id), KEY idx_warning_exception_test (test_id, exception_status, last_occurred_at_utc), UNIQUE KEY uk_warning_exception_open (open_dedupe_key) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='测试预警异常'; ALTER TABLE t_device_adapter ADD CONSTRAINT chk_adapter_connection_status CHECK (connection_status IN ('ONLINE', 'OFFLINE')); ALTER TABLE t_detection_cabinet ADD CONSTRAINT chk_cabinet_registration_status CHECK (registration_status IN ('DISCOVERED', 'REGISTERED', 'DISABLED')), ADD CONSTRAINT chk_cabinet_online_status CHECK (online_status IN ('ONLINE', 'OFFLINE')); ALTER TABLE t_detection_channel ADD CONSTRAINT chk_channel_online_status CHECK (online_status IN ('ONLINE', 'OFFLINE')), ADD CONSTRAINT chk_channel_work_status CHECK (work_status IN ('RUNNING', 'PAUSED', 'ENDED', 'ABNORMAL', 'UNOBSERVABLE')); ALTER TABLE t_collector ADD CONSTRAINT chk_collector_online_status CHECK (online_status IN ('ONLINE', 'OFFLINE')); ALTER TABLE t_test ADD CONSTRAINT chk_test_status CHECK (test_status IN ('WAITING', 'RUNNING', 'PAUSED', 'COMPLETED')), ADD CONSTRAINT chk_test_reception_status CHECK (reception_status IN ('NOT_STARTED', 'RECEIVING', 'PAUSED', 'ENDED')); ALTER TABLE t_test_warning_exception ADD CONSTRAINT chk_warning_exception_status CHECK (exception_status IN ('OPEN', 'CLOSED')); ALTER TABLE t_test_data_revision_action ADD CONSTRAINT chk_data_revision_type CHECK (data_type IN ('REALTIME', 'STEP', 'CYCLE')), ADD CONSTRAINT chk_data_revision_operation CHECK (operation_type IN ('EDIT', 'IMPORT', 'DELETE'));