Files
qihuaiflow/migrations/005_channel_columns.sql
qyyfw 78ff261b5a 初始提交: Qihu-AIFlow v2.0.1 完整项目
- 前端 React+TypeScript (源码+构建产物)
- 后端 Python FastAPI
- 数据库迁移 001-015
- Docker部署配置
- 微信ClawBot API频道绑定
- 项目文档 README.md
2026-07-02 14:40:46 +08:00

48 lines
2.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- AIFlow - 频道表列补充(幂等迁移)
-- 补充 001_init.sql 中 channels 表缺失的列
-- Model 中有但这些列在初始建表脚本中遗漏了
USE aiflow;
SET @dbname = DATABASE();
-- 1. webhook_url 列(Webhook回调地址)
SET @check = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = 'channels' AND COLUMN_NAME = 'webhook_url');
SET @sql = IF(@check = 0,
'ALTER TABLE channels ADD COLUMN webhook_url VARCHAR(500) DEFAULT NULL AFTER platform',
'SELECT ''webhook_url already exists'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- 2. credential 列(平台凭证JSON)
SET @check = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = 'channels' AND COLUMN_NAME = 'credential');
SET @sql = IF(@check = 0,
'ALTER TABLE channels ADD COLUMN credential JSON DEFAULT NULL AFTER webhook_url',
'SELECT ''credential already exists'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- 3. settings 列(频道设置JSON - AI行为配置等)
SET @check = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = 'channels' AND COLUMN_NAME = 'settings');
SET @sql = IF(@check = 0,
'ALTER TABLE channels ADD COLUMN settings JSON DEFAULT NULL AFTER credential',
'SELECT ''settings already exists'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- 4. is_active 列(是否激活)
SET @check = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = 'channels' AND COLUMN_NAME = 'is_active');
SET @sql = IF(@check = 0,
'ALTER TABLE channels ADD COLUMN is_active TINYINT(1) DEFAULT 1 AFTER status',
'SELECT ''is_active already exists'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- 5. oauth_state 列(OAuth扫码授权状态 - ClawBot)
SET @check = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = 'channels' AND COLUMN_NAME = 'oauth_state');
SET @sql = IF(@check = 0,
'ALTER TABLE channels ADD COLUMN oauth_state VARCHAR(500) DEFAULT NULL AFTER is_active',
'SELECT ''oauth_state already exists'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;