105 lines
3.7 KiB
SQL
105 lines
3.7 KiB
SQL
-- 为 trade_recommendations 表添加 user_guide 字段
|
|
-- 用于存储用户指南(人话版计划)
|
|
|
|
-- 检查字段是否存在,如果不存在则添加
|
|
SET @dbname = DATABASE();
|
|
SET @tablename = 'trade_recommendations';
|
|
SET @columnname = 'user_guide';
|
|
SET @preparedStatement = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname)
|
|
) > 0,
|
|
"SELECT 'Column already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname, " TEXT COMMENT '用户指南(人话版操作计划)';")
|
|
));
|
|
PREPARE alterIfNotExists FROM @preparedStatement;
|
|
EXECUTE alterIfNotExists;
|
|
DEALLOCATE PREPARE alterIfNotExists;
|
|
|
|
-- 同时添加其他新增字段(如果不存在)
|
|
SET @columnname2 = 'recommendation_category';
|
|
SET @preparedStatement2 = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname2)
|
|
) > 0,
|
|
"SELECT 'Column recommendation_category already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname2, " VARCHAR(50) COMMENT '推荐分类(如:顺趋势突破、逆势反弹等)';")
|
|
));
|
|
PREPARE alterIfNotExists2 FROM @preparedStatement2;
|
|
EXECUTE alterIfNotExists2;
|
|
DEALLOCATE PREPARE alterIfNotExists2;
|
|
|
|
SET @columnname3 = 'risk_level';
|
|
SET @preparedStatement3 = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname3)
|
|
) > 0,
|
|
"SELECT 'Column risk_level already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname3, " VARCHAR(20) COMMENT '风险等级(高、中高、中等、低中)';")
|
|
));
|
|
PREPARE alterIfNotExists3 FROM @preparedStatement3;
|
|
EXECUTE alterIfNotExists3;
|
|
DEALLOCATE PREPARE alterIfNotExists3;
|
|
|
|
SET @columnname4 = 'expected_hold_time';
|
|
SET @preparedStatement4 = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname4)
|
|
) > 0,
|
|
"SELECT 'Column expected_hold_time already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname4, " VARCHAR(100) COMMENT '预期持仓时间';")
|
|
));
|
|
PREPARE alterIfNotExists4 FROM @preparedStatement4;
|
|
EXECUTE alterIfNotExists4;
|
|
DEALLOCATE PREPARE alterIfNotExists4;
|
|
|
|
SET @columnname5 = 'trading_tutorial';
|
|
SET @preparedStatement5 = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname5)
|
|
) > 0,
|
|
"SELECT 'Column trading_tutorial already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname5, " TEXT COMMENT '交易教程提示';")
|
|
));
|
|
PREPARE alterIfNotExists5 FROM @preparedStatement5;
|
|
EXECUTE alterIfNotExists5;
|
|
DEALLOCATE PREPARE alterIfNotExists5;
|
|
|
|
SET @columnname6 = 'max_hold_days';
|
|
SET @preparedStatement6 = (SELECT IF(
|
|
(
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE
|
|
(TABLE_SCHEMA = @dbname)
|
|
AND (TABLE_NAME = @tablename)
|
|
AND (COLUMN_NAME = @columnname6)
|
|
) > 0,
|
|
"SELECT 'Column max_hold_days already exists.' AS result;",
|
|
CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname6, " INT DEFAULT 3 COMMENT '最大持仓天数';")
|
|
));
|
|
PREPARE alterIfNotExists6 FROM @preparedStatement6;
|
|
EXECUTE alterIfNotExists6;
|
|
DEALLOCATE PREPARE alterIfNotExists6;
|
|
|
|
SELECT 'Migration completed: Added user_guide and related fields to trade_recommendations table.' AS result;
|