feat(log): 落地统一日志底座与系统日志运维能力
This commit is contained in:
55
backend/migrations/054_ops_system_logs.sql
Normal file
55
backend/migrations/054_ops_system_logs.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
-- 054_ops_system_logs.sql
|
||||
-- 统一日志索引表与清理审计表
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ops_system_logs (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
level VARCHAR(16) NOT NULL,
|
||||
component VARCHAR(128) NOT NULL DEFAULT '',
|
||||
message TEXT NOT NULL,
|
||||
request_id VARCHAR(128),
|
||||
client_request_id VARCHAR(128),
|
||||
user_id BIGINT,
|
||||
account_id BIGINT,
|
||||
platform VARCHAR(32),
|
||||
model VARCHAR(128),
|
||||
extra JSONB NOT NULL DEFAULT '{}'::jsonb
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_created_at_id
|
||||
ON ops_system_logs (created_at DESC, id DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_level_created_at
|
||||
ON ops_system_logs (level, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_component_created_at
|
||||
ON ops_system_logs (component, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_request_id
|
||||
ON ops_system_logs (request_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_client_request_id
|
||||
ON ops_system_logs (client_request_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_user_id_created_at
|
||||
ON ops_system_logs (user_id, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_account_id_created_at
|
||||
ON ops_system_logs (account_id, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_platform_model_created_at
|
||||
ON ops_system_logs (platform, model, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_logs_message_search
|
||||
ON ops_system_logs USING GIN (to_tsvector('simple', COALESCE(message, '')));
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ops_system_log_cleanup_audits (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
operator_id BIGINT NOT NULL,
|
||||
conditions JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
deleted_rows BIGINT NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_ops_system_log_cleanup_audits_created_at
|
||||
ON ops_system_log_cleanup_audits (created_at DESC, id DESC);
|
||||
Reference in New Issue
Block a user