This commit is contained in:
8
migrations/000136_create_asset_operation_log.down.sql
Normal file
8
migrations/000136_create_asset_operation_log.down.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
-- 回滚资产操作审计日志表
|
||||
DROP INDEX IF EXISTS idx_asset_log_asset_created;
|
||||
DROP INDEX IF EXISTS idx_asset_log_identifier_created;
|
||||
DROP INDEX IF EXISTS idx_asset_log_operator_created;
|
||||
DROP INDEX IF EXISTS idx_asset_log_operation_created;
|
||||
DROP INDEX IF EXISTS idx_asset_log_result_created;
|
||||
|
||||
DROP TABLE IF EXISTS tb_asset_operation_log;
|
||||
69
migrations/000136_create_asset_operation_log.up.sql
Normal file
69
migrations/000136_create_asset_operation_log.up.sql
Normal file
@@ -0,0 +1,69 @@
|
||||
-- 创建资产操作审计日志表
|
||||
CREATE TABLE IF NOT EXISTS tb_asset_operation_log (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
operator_id BIGINT,
|
||||
operator_type VARCHAR(32) NOT NULL,
|
||||
operator_name VARCHAR(255) NOT NULL DEFAULT '',
|
||||
|
||||
asset_type VARCHAR(32) NOT NULL,
|
||||
asset_id BIGINT NOT NULL,
|
||||
asset_identifier VARCHAR(128) NOT NULL DEFAULT '',
|
||||
|
||||
operation_type VARCHAR(64) NOT NULL,
|
||||
operation_desc TEXT NOT NULL,
|
||||
|
||||
before_data JSONB,
|
||||
after_data JSONB,
|
||||
|
||||
request_id VARCHAR(255),
|
||||
ip_address VARCHAR(64),
|
||||
user_agent TEXT,
|
||||
request_path VARCHAR(255),
|
||||
request_method VARCHAR(16),
|
||||
|
||||
result_status VARCHAR(16) NOT NULL,
|
||||
error_code VARCHAR(64),
|
||||
error_msg TEXT,
|
||||
|
||||
batch_total INT NOT NULL DEFAULT 0,
|
||||
success_count INT NOT NULL DEFAULT 0,
|
||||
fail_count INT NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_asset_log_asset_created
|
||||
ON tb_asset_operation_log(asset_type, asset_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_asset_log_identifier_created
|
||||
ON tb_asset_operation_log(asset_identifier, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_asset_log_operator_created
|
||||
ON tb_asset_operation_log(operator_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_asset_log_operation_created
|
||||
ON tb_asset_operation_log(operation_type, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_asset_log_result_created
|
||||
ON tb_asset_operation_log(result_status, created_at DESC);
|
||||
|
||||
COMMENT ON TABLE tb_asset_operation_log IS '资产操作审计日志表';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.id IS '主键ID';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.operator_id IS '操作人ID(系统触发为空)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.operator_type IS '操作人类型(system/admin_user/agent_user/enterprise_user/personal_customer)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.operator_name IS '操作人名称快照';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.asset_type IS '资产类型(iot_card/device)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.asset_id IS '资产ID';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.asset_identifier IS '资产标识(ICCID/虚拟号)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.operation_type IS '操作类型';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.operation_desc IS '操作描述(中文)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.before_data IS '变更前数据(JSONB)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.after_data IS '变更后数据(JSONB)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.request_id IS '请求ID';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.ip_address IS '请求IP';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.user_agent IS '用户代理';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.request_path IS '请求路径';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.request_method IS '请求方法';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.result_status IS '执行结果(success/failed/denied)';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.error_code IS '错误码';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.error_msg IS '错误摘要';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.batch_total IS '批量总数';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.success_count IS '批量成功数';
|
||||
COMMENT ON COLUMN tb_asset_operation_log.fail_count IS '批量失败数';
|
||||
Reference in New Issue
Block a user