-- ============================================================ -- 防火墙站点表 -- ============================================================ DROP TABLE IF EXISTS firewall_site; CREATE TABLE firewall_site ( ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', REVISION INT DEFAULT 1 COMMENT '乐观锁', CREATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '创建人', CREATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UPDATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '更新人', UPDATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', SITE_NAME VARCHAR(100) NOT NULL COMMENT '站点名称', DOMAIN VARCHAR(200) NOT NULL COMMENT '站点域名', NGINX_CONF VARCHAR(255) COMMENT 'Nginx配置文件路径', STATUS TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用', REMARK VARCHAR(255) COMMENT '备注', PRIMARY KEY (ID), UNIQUE KEY uk_domain (DOMAIN) ) COMMENT = '防火墙站点表'; -- ============================================================ -- 国家白名单规则表 -- ============================================================ DROP TABLE IF EXISTS firewall_country_rule; CREATE TABLE firewall_country_rule ( ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', REVISION INT DEFAULT 1 COMMENT '乐观锁', CREATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '创建人', CREATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UPDATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '更新人', UPDATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', SITE_ID BIGINT NOT NULL COMMENT '站点ID,关联firewall_site表', COUNTRY_CODE VARCHAR(10) NOT NULL COMMENT '国家编码(ISO 3166-1 alpha-2,如 JP/US/SG)', COUNTRY_NAME VARCHAR(50) COMMENT '国家名称', ENABLED TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用', PRIMARY KEY (ID), UNIQUE KEY uk_site_country (SITE_ID, COUNTRY_CODE), INDEX idx_site_id (SITE_ID) ) COMMENT = '防火墙国家白名单规则表'; -- ============================================================ -- IP白名单表 -- ============================================================ DROP TABLE IF EXISTS firewall_ip_white; CREATE TABLE firewall_ip_white ( ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', REVISION INT DEFAULT 1 COMMENT '乐观锁', CREATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '创建人', CREATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UPDATED_BY VARCHAR(32) DEFAULT 'system' COMMENT '更新人', UPDATED_TIME DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', SITE_ID BIGINT NOT NULL COMMENT '站点ID', IP VARCHAR(64) NOT NULL COMMENT 'IP地址(支持IPv4/IPv6)', REMARK VARCHAR(255) COMMENT '备注', EXPIRE_TIME DATETIME COMMENT '过期时间,NULL表示永久有效', ENABLED TINYINT DEFAULT 1 COMMENT '状态:1-启用,0-禁用', PRIMARY KEY (ID), UNIQUE KEY uk_site_ip (SITE_ID, IP), INDEX idx_ip (IP) ) COMMENT = '防火墙IP白名单表'; -- ---------------------------- -- 默认数据 -- ---------------------------- INSERT INTO firewall_site (SITE_NAME, DOMAIN, STATUS) VALUES ('默认站点', 'shop.xxx.com', 1);