初始化1

This commit is contained in:
zg
2026-07-16 13:03:11 +08:00
parent 0bdfcbc1c8
commit e6b0f287cc
100 changed files with 12184 additions and 0 deletions

151
sql/audit_migration.sql Normal file
View File

@@ -0,0 +1,151 @@
-- ============================================
-- 审计字段迁移:创建人/更新人 + DNS记录本地审计表
-- 数据库: nginxserver @ 10.1.1.122:3306
-- 日期: 2026-06-19
-- 执行方式: mysql -h 10.1.1.122 -u nginxserver -p nginxserver < audit_migration.sql
-- ============================================
USE nginxserver;
-- ════════════════════════════════════════════════
-- 安全添加审计列(检查是否已存在,避免重复执行报错)
-- ════════════════════════════════════════════════
DROP PROCEDURE IF EXISTS add_audit_columns;
DELIMITER $$
CREATE PROCEDURE add_audit_columns()
BEGIN
-- ========================================
-- forwarding_rules: created_by
-- ========================================
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'forwarding_rules'
AND COLUMN_NAME = 'created_by'
) THEN
ALTER TABLE forwarding_rules
ADD COLUMN created_by VARCHAR(100) DEFAULT NULL
COMMENT '创建人';
END IF;
-- forwarding_rules: updated_by
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'forwarding_rules'
AND COLUMN_NAME = 'updated_by'
) THEN
ALTER TABLE forwarding_rules
ADD COLUMN updated_by VARCHAR(100) DEFAULT NULL
COMMENT '更新人';
END IF;
-- ========================================
-- dns_zone_config: created_by
-- ========================================
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'dns_zone_config'
AND COLUMN_NAME = 'created_by'
) THEN
ALTER TABLE dns_zone_config
ADD COLUMN created_by VARCHAR(100) DEFAULT NULL
COMMENT '创建人';
END IF;
-- dns_zone_config: updated_by
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'dns_zone_config'
AND COLUMN_NAME = 'updated_by'
) THEN
ALTER TABLE dns_zone_config
ADD COLUMN updated_by VARCHAR(100) DEFAULT NULL
COMMENT '更新人';
END IF;
-- ========================================
-- certificates: created_by
-- ========================================
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'certificates'
AND COLUMN_NAME = 'created_by'
) THEN
ALTER TABLE certificates
ADD COLUMN created_by VARCHAR(100) DEFAULT NULL
COMMENT '创建人';
END IF;
-- certificates: updated_by
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'certificates'
AND COLUMN_NAME = 'updated_by'
) THEN
ALTER TABLE certificates
ADD COLUMN updated_by VARCHAR(100) DEFAULT NULL
COMMENT '更新人';
END IF;
END$$
DELIMITER ;
-- 执行存储过程
CALL add_audit_columns();
-- 清理
DROP PROCEDURE IF EXISTS add_audit_columns;
-- ════════════════════════════════════════════════
-- 新建 DNS 记录本地审计表
-- ════════════════════════════════════════════════
CREATE TABLE IF NOT EXISTS dns_records (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
record_id VARCHAR(128) NOT NULL COMMENT '阿里云解析记录ID',
domain_zone VARCHAR(255) NOT NULL COMMENT '主域名(如 zgitm.com',
rr VARCHAR(255) NOT NULL COMMENT '主机记录',
record_type VARCHAR(20) NOT NULL COMMENT '记录类型: A / CNAME / TXT',
record_value VARCHAR(500) NOT NULL COMMENT '记录值IP 或域名)',
ttl INT DEFAULT 600 COMMENT 'TTL 生效时间(秒)',
status TINYINT DEFAULT 1 COMMENT '状态: 0-已删除(逻辑删除), 1-正常',
created_by VARCHAR(100) DEFAULT NULL COMMENT '创建人',
updated_by VARCHAR(100) DEFAULT NULL COMMENT '更新人',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
UNIQUE KEY uk_record_id (record_id),
INDEX idx_domain_zone (domain_zone),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='DNS解析记录本地审计表阿里云为权威数据源本表仅做审计追踪';
-- ════════════════════════════════════════════════
-- 验证结果
-- ════════════════════════════════════════════════
SELECT '=== forwarding_rules 审计列 ===' AS '';
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'forwarding_rules'
AND COLUMN_NAME IN ('created_by', 'updated_by');
SELECT '=== dns_zone_config 审计列 ===' AS '';
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'dns_zone_config'
AND COLUMN_NAME IN ('created_by', 'updated_by');
SELECT '=== certificates 审计列 ===' AS '';
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'nginxserver'
AND TABLE_NAME = 'certificates'
AND COLUMN_NAME IN ('created_by', 'updated_by');
SELECT '=== dns_records 表结构 ===' AS '';
SHOW CREATE TABLE dns_records;