From 11b80b90f4bb53b8d6f210469205f8edc2cdfa3f Mon Sep 17 00:00:00 2001 From: QihuAI Design Date: Mon, 20 Jul 2026 19:37:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(migrations):=20MariaDB=20=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=B9=82=E7=AD=89=E5=8C=96=20privacy=5Fmode=20=E5=88=97?= =?UTF-8?q?=E4=B8=8E=20distributions=20=E7=A7=8D=E5=AD=90=E6=8F=92?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migrations/mig_g4_distribution.sql | 2 +- migrations/mig_g5_privacy.sql | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/migrations/mig_g4_distribution.sql b/migrations/mig_g4_distribution.sql index 8412047..d1e378e 100644 --- a/migrations/mig_g4_distribution.sql +++ b/migrations/mig_g4_distribution.sql @@ -56,7 +56,7 @@ CREATE TABLE IF NOT EXISTS `distribution_licenses` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- Insert seed data: sample distributions -INSERT INTO `distributions` (`id`, `name`, `description`, `brand_name`, `brand_color`, `provider`, `model`, `features`, `status`) VALUES +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'); diff --git a/migrations/mig_g5_privacy.sql b/migrations/mig_g5_privacy.sql index ac0fea6..1b7c8a1 100644 --- a/migrations/mig_g5_privacy.sql +++ b/migrations/mig_g5_privacy.sql @@ -84,6 +84,11 @@ CREATE TABLE IF NOT EXISTS usage_reports ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- 5. Add privacy_mode to distributions table -ALTER TABLE distributions - ADD COLUMN IF NOT EXISTS privacy_mode ENUM('local', 'cloud', 'hybrid') NOT NULL DEFAULT 'cloud' - COMMENT 'Deployment mode for distribution' AFTER status; +-- MariaDB 11.8 不支持 ADD COLUMN IF NOT EXISTS 语法,改用 information_schema 预检 + 动态 PREPARE 实现幂等 +SET @exist_pm := (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'distributions' AND COLUMN_NAME = 'privacy_mode'); +SET @sql_pm := IF(@exist_pm = 0, + "ALTER TABLE distributions ADD COLUMN privacy_mode ENUM('local', 'cloud', 'hybrid') NOT NULL DEFAULT 'cloud' COMMENT 'Deployment mode for distribution' AFTER status", + 'SELECT 1'); +PREPARE stmt_pm FROM @sql_pm; +EXECUTE stmt_pm; +DEALLOCATE PREPARE stmt_pm;