Files
qihuaiflow/migrations/mig_g4_distribution.sql
T

63 lines
4.2 KiB
SQL

-- Phase G4: Distribution Builder - Database Migration
-- Execute: docker exec -i qihu-aiflow-mysql mysql -uroot -ppwd2026 aiflow < mig_g4_distribution.sql
-- Table: distributions (发行版配置)
CREATE TABLE IF NOT EXISTS `distributions` (
`id` VARCHAR(64) NOT NULL,
`name` VARCHAR(255) NOT NULL COMMENT '发行版名称',
`description` TEXT COMMENT '发行版描述',
`brand_name` VARCHAR(255) DEFAULT NULL COMMENT '品牌名称',
`brand_logo_url` VARCHAR(1024) DEFAULT NULL COMMENT '品牌 Logo URL',
`brand_color` VARCHAR(7) DEFAULT '#6366f1' COMMENT '品牌主色',
`system_prompt` TEXT COMMENT '系统提示词',
`provider` VARCHAR(100) DEFAULT 'siliconflow' COMMENT 'LLM 提供商',
`model` VARCHAR(200) DEFAULT 'deepseek-ai/DeepSeek-V4-Flash' COMMENT '默认模型',
`mcp_extensions` JSON COMMENT '捆绑的 MCP 扩展配置 [{id, name, cmd, args, envs, type, timeout}]',
`workflow_ids` JSON COMMENT '捆绑的工作流 ID 列表 ["wf-001", "wf-002"]',
`knowledge_base_ids` JSON COMMENT '捆绑的知识库 ID 列表',
`agent_ids` JSON COMMENT '捆绑的 Agent ID 列表',
`features` JSON COMMENT '功能特性 ["code_exec", "knowledge_search", "agent_collab"]',
`config_json` JSON COMMENT '完整配置 JSON',
`status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '状态: draft/active/archived',
`version` VARCHAR(20) DEFAULT '1.0.0' COMMENT '版本号',
`download_count` INT DEFAULT 0 COMMENT '下载次数',
`size_bytes` BIGINT DEFAULT 0 COMMENT '包大小(字节)',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `idx_distributions_status` (`status`),
INDEX `idx_distributions_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Table: distribution_licenses (发行版许可证)
CREATE TABLE IF NOT EXISTS `distribution_licenses` (
`id` VARCHAR(64) NOT NULL,
`distribution_id` VARCHAR(64) NOT NULL COMMENT '关联发行版',
`org_name` VARCHAR(255) NOT NULL COMMENT '被授权组织名称',
`licensee_email` VARCHAR(255) DEFAULT NULL COMMENT '被授权人邮箱',
`license_key` VARCHAR(128) NOT NULL COMMENT '许可证密钥 (HMAC-SHA256)',
`features` JSON COMMENT '授权功能列表',
`max_users` INT DEFAULT 10 COMMENT '最大用户数',
`max_executions` INT DEFAULT 10000 COMMENT '最大执行次数',
`usage_count` INT DEFAULT 0 COMMENT '已使用次数',
`expiry_date` DATE DEFAULT NULL COMMENT '过期日期 (NULL=永不过期)',
`status` VARCHAR(20) NOT NULL DEFAULT 'active' COMMENT '状态: active/revoked/expired',
`metadata_json` JSON COMMENT '自定义元数据',
`first_used_at` DATETIME DEFAULT NULL COMMENT '首次使用时间',
`last_used_at` DATETIME DEFAULT NULL COMMENT '最后使用时间',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_license_key` (`license_key`),
INDEX `idx_licenses_distribution` (`distribution_id`),
INDEX `idx_licenses_status` (`status`),
INDEX `idx_licenses_expiry` (`expiry_date`),
INDEX `idx_licenses_org` (`org_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Insert seed data: sample distributions
INSERT IGNORE INTO `distributions` (`id`, `name`, `description`, `brand_name`, `brand_color`, `provider`, `model`, `features`, `status`) VALUES
('distro-starter', 'Starter Edition', '基础版发行包,适合个人开发者和小团队', 'AI Starter', '#6366f1', 'siliconflow', 'deepseek-ai/DeepSeek-V4-Flash', '["chat", "code_exec"]', 'active'),
('distro-enterprise', 'Enterprise Edition', '企业版发行包,包含完整 MCP 生态 + Agent 协作', 'AI Enterprise', '#f59e0b', 'siliconflow', 'deepseek-ai/DeepSeek-V4-Flash', '["chat", "code_exec", "knowledge_search", "agent_collab"]', 'active'),
('distro-devops', 'DevOps Edition', 'DevOps 专用发行包,CI/CD + 代码审查 + 部署', 'AI DevOps', '#10b981', 'siliconflow', 'deepseek-ai/DeepSeek-V4-Flash', '["chat", "code_exec", "automation", "webhook"]', 'active');