Files
MyAiDesk/nomifun-tauri/crates/backend/nomifun-db/migrations/006_domain_config.sql
T
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

98 lines
5.1 KiB
SQL

-- Migration 006: Add domain configuration table
--
-- Stores domain-specific settings and configurations:
-- - Government: departments, approval workflows
-- - Enterprise: departments, team structures
-- - Education: schools, faculties, semesters
------------------------------------------------------------------------
-- Domain configuration table
------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS domain_config (
id INTEGER PRIMARY KEY CHECK (id = 1),
-- Domain type (mirrors system_config.domain_type)
domain_type TEXT NOT NULL DEFAULT 'enterprise'
CHECK(domain_type IN ('government', 'enterprise', 'education')),
-- Domain-specific settings (JSON)
settings TEXT NOT NULL DEFAULT '{}',
-- Government-specific
government_settings TEXT NOT NULL DEFAULT '{}',
-- Enterprise-specific
enterprise_settings TEXT NOT NULL DEFAULT '{}',
-- Education-specific
education_settings TEXT NOT NULL DEFAULT '{}',
-- Enabled features (JSON array)
enabled_features TEXT NOT NULL DEFAULT '[]',
-- Department/division list (JSON array)
departments TEXT NOT NULL DEFAULT '[]',
-- Custom domain parameters (JSON)
custom_params TEXT NOT NULL DEFAULT '{}',
-- Timestamps
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
-- Seed default domain configuration
INSERT OR IGNORE INTO domain_config (id, created_at, updated_at)
VALUES (1, unixepoch('now', 'subsec') * 1000, unixepoch('now', 'subsec') * 1000);
------------------------------------------------------------------------
-- Domain presets (reference data)
------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS domain_presets (
id TEXT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
domain_type TEXT NOT NULL
CHECK(domain_type IN ('government', 'enterprise', 'education')),
description TEXT,
-- Default settings for this preset
settings TEXT NOT NULL DEFAULT '{}',
-- Preset configurations
config TEXT NOT NULL DEFAULT '{}',
-- Sort order
sort_order INTEGER NOT NULL DEFAULT 0,
-- Timestamps
created_at INTEGER NOT NULL
);
-- Seed government presets
INSERT OR IGNORE INTO domain_presets (id, name, domain_type, description, settings, config, sort_order, created_at)
VALUES
('gov_office', '政务办公', 'government', '政务办公场景,适合政府机关日常办公',
'{"approval_workflow": true, "document_classification": true, "multi_department": true}',
'{"departments": ["办公室", "人事处", "财务处", "业务处"], "features": ["公文管理", "审批流程", "档案管理"]}',
10, unixepoch('now', 'subsec') * 1000),
('gov_service', '政务服务', 'government', '政务服务场景,适合对外服务窗口',
'{"queue_management": true, "service_rating": true, "id_verification": true}',
'{"departments": ["综合窗口", "专项服务", "投诉受理"], "features": ["排队叫号", "服务评价", "身份核验"]}',
20, unixepoch('now', 'subsec') * 1000);
-- Seed enterprise presets
INSERT OR IGNORE INTO domain_presets (id, name, domain_type, description, settings, config, sort_order, created_at)
VALUES
('ent_corporate', '企业办公', 'enterprise', '企业通用办公场景',
'{"team_structure": true, "project_tracking": true, "knowledge_base": true}',
'{"departments": ["技术部", "市场部", "运营部", "财务部"], "features": ["项目管理", "知识库", "团队协作"]}',
10, unixepoch('now', 'subsec') * 1000),
('ent_sales', '销售团队', 'enterprise', '销售团队专用场景',
'{"crm_integration": true, "lead_tracking": true, "sales_reporting": true}',
'{"departments": ["销售一部", "销售二部", "客服部"], "features": ["客户管理", "销售报表", "线索追踪"]}',
20, unixepoch('now', 'subsec') * 1000);
-- Seed education presets
INSERT OR IGNORE INTO domain_presets (id, name, domain_type, description, settings, config, sort_order, created_at)
VALUES
('edu_university', '高等院校', 'education', '高等院校教学科研场景',
'{"semester_management": true, "course_management": true, "research_support": true}',
'{"departments": ["计算机系", "数学系", "物理系", "外语系"], "features": ["课程管理", "科研助手", "论文写作"]}',
10, unixepoch('now', 'subsec') * 1000),
('edu_school', '中小学', 'education', '中小学教育场景',
'{"grade_management": true, "homework_tracking": true, "parent_communication": true}',
'{"departments": ["语文组", "数学组", "英语组", "综合组"], "features": ["作业管理", "家长通知", "成绩分析"]}',
20, unixepoch('now', 'subsec') * 1000);
------------------------------------------------------------------------
-- End of migration
------------------------------------------------------------------------