002_new_tables.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. -- ============================================================
  2. -- 域名流水监控 - 新增业务表
  3. -- License 授权 / 访客信息 / 爬取调度配置
  4. -- ============================================================
  5. -- License 授权表(含短信去重字段)
  6. CREATE TABLE IF NOT EXISTS domain_monitor.super_admin_license (
  7. id SERIAL PRIMARY KEY,
  8. super_admin_id INTEGER NOT NULL,
  9. license_key VARCHAR(200) NOT NULL,
  10. expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
  11. status VARCHAR(20) NOT NULL DEFAULT 'active',
  12. max_tenants INTEGER,
  13. max_users_per_tenant INTEGER,
  14. remark TEXT,
  15. warning_sent BOOLEAN DEFAULT FALSE,
  16. expired_sent BOOLEAN DEFAULT FALSE,
  17. created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  18. updated_at TIMESTAMP WITH TIME ZONE
  19. );
  20. CREATE INDEX IF NOT EXISTS idx_sa_license_sa_id ON domain_monitor.super_admin_license(super_admin_id);
  21. CREATE INDEX IF NOT EXISTS idx_sa_license_status ON domain_monitor.super_admin_license(status);
  22. CREATE INDEX IF NOT EXISTS idx_sa_license_expires ON domain_monitor.super_admin_license(expires_at);
  23. -- 访客信息表
  24. CREATE TABLE IF NOT EXISTS domain_monitor.visitor_info (
  25. id SERIAL PRIMARY KEY,
  26. domain_id INT NOT NULL UNIQUE,
  27. name VARCHAR(100),
  28. phone VARCHAR(50),
  29. email VARCHAR(200),
  30. created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  31. updated_at TIMESTAMP WITH TIME ZONE,
  32. CONSTRAINT fk_visitor_domain FOREIGN KEY (domain_id) REFERENCES domain_monitor.monitored_domains(id) ON DELETE CASCADE
  33. );
  34. -- 爬取调度配置表
  35. CREATE TABLE IF NOT EXISTS domain_monitor.fetch_schedule_config (
  36. id SERIAL PRIMARY KEY,
  37. enabled BOOLEAN DEFAULT FALSE,
  38. schedule_time VARCHAR(5) DEFAULT '02:00'
  39. );
  40. -- 初始化默认配置
  41. INSERT INTO domain_monitor.fetch_schedule_config (enabled, schedule_time)
  42. SELECT FALSE, '02:00'
  43. WHERE NOT EXISTS (SELECT 1 FROM domain_monitor.fetch_schedule_config);