create_waf_tables.sql 1.79 KB
Newer Older
qiuqunfeng's avatar
commit  
qiuqunfeng committed
1 2
-- Create waf_services table
CREATE TABLE waf_services (
3
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
qiuqunfeng's avatar
commit  
qiuqunfeng committed
4 5 6 7 8 9
    gateway_name VARCHAR(255) NOT NULL,
    namespace VARCHAR(255) NOT NULL,
    region_code VARCHAR(50) NOT NULL,
    mode VARCHAR(50) NOT NULL,
    rule_num INTEGER DEFAULT 0,
    attack_num INTEGER DEFAULT 0,
qiuqunfeng's avatar
qiuqunfeng committed
10
    rule_category_status JSON,
qiuqunfeng's avatar
commit  
qiuqunfeng committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
);

-- Create waf_rules table
CREATE TABLE waf_rules (
    id SERIAL PRIMARY KEY,
    category_id VARCHAR(255) NOT NULL,
    level INTEGER NOT NULL,
    name VARCHAR(255) NOT NULL,
    type VARCHAR(50) NOT NULL,
    description TEXT,
    expr TEXT NOT NULL,
    mode VARCHAR(50) NOT NULL
);

-- Create waf_rule_categories table
CREATE TABLE waf_rule_categories (
27
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
qiuqunfeng's avatar
commit  
qiuqunfeng committed
28 29 30 31 32 33
    category_id VARCHAR(255) NOT NULL,
    category_en VARCHAR(255) NOT NULL,
    category_zh VARCHAR(255) NOT NULL,
    description_en TEXT,
    description_zh TEXT,
    status INTEGER NOT NULL,
qiuqunfeng's avatar
qiuqunfeng committed
34
    rules JSON NOT NULL
qiuqunfeng's avatar
commit  
qiuqunfeng committed
35 36
);

37 38 39 40 41 42 43
-- Create gateway_listeners table
CREATE TABLE gateway_listeners (
    id SERIAL PRIMARY KEY,
    gateway_name VARCHAR(255) NOT NULL,
    namespace VARCHAR(255) NOT NULL,
    region_code VARCHAR(50) NOT NULL,
    port INTEGER NOT NULL,
44 45
    enable BOOLEAN NOT NULL,
    hosts TEXT
46 47
);

qiuqunfeng's avatar
commit  
qiuqunfeng committed
48 49 50 51
-- Add indexes for better query performance
CREATE INDEX idx_waf_services_gateway_name ON waf_services(gateway_name);
CREATE INDEX idx_waf_services_namespace ON waf_services(namespace);
CREATE INDEX idx_waf_rules_category_id ON waf_rules(category_id);
52 53 54 55
CREATE INDEX idx_waf_rule_categories_category_id ON waf_rule_categories(category_id);
CREATE INDEX idx_gateway_listeners_gateway_name ON gateway_listeners(gateway_name);
CREATE INDEX idx_gateway_listeners_namespace ON gateway_listeners(namespace);
CREATE INDEX idx_gateway_listeners_region_code ON gateway_listeners(region_code);