create_waf_tables.sql 1.31 KB
Newer Older
qiuqunfeng's avatar
commit  
qiuqunfeng committed
1 2 3 4 5 6 7 8 9
-- Create waf_services table
CREATE TABLE waf_services (
    id SERIAL PRIMARY KEY,
    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 11
    rule_category_status JSON,
    status INTEGER NOT NULL,
qiuqunfeng's avatar
commit  
qiuqunfeng committed
12 13
    port INTEGER,
    host TEXT
qiuqunfeng's avatar
commit  
qiuqunfeng committed
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
);

-- 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 (
    id SERIAL PRIMARY KEY,
    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
37
    rules JSON NOT NULL
qiuqunfeng's avatar
commit  
qiuqunfeng committed
38 39 40 41 42 43 44
);

-- 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);
CREATE INDEX idx_waf_rule_categories_category_id ON waf_rule_categories(category_id);