- 前端 React+TypeScript (源码+构建产物) - 后端 Python FastAPI - 数据库迁移 001-015 - Docker部署配置 - 微信ClawBot API频道绑定 - 项目文档 README.md
48 lines
2.3 KiB
SQL
48 lines
2.3 KiB
SQL
-- 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;
|