fix: 修复 V29 migration SQL 语法兼容性

- 移除 DROP COLUMN IF EXISTS(仅 MySQL 8.0.29+ 支持)
- 使用标准 DROP COLUMN 语法(MySQL 5.7+ 兼容)
- 添加 Flyway 清理脚本
This commit is contained in:
WrBug
2026-01-31 20:51:26 +08:00
parent 96fbc3f720
commit 88cae4018a
2 changed files with 69 additions and 8 deletions
@@ -1,11 +1,13 @@
-- Drop unused columns from backtest_task table
-- These fields are not needed for backtest scenarios as they use historical data
-- Note: Using standard SQL syntax compatible with MySQL 5.7+
ALTER TABLE backtest_task DROP COLUMN IF EXISTS price_tolerance;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS delay_seconds;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS min_order_depth;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS max_spread;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS min_price;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS max_price;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS max_position_value;
ALTER TABLE backtest_task DROP COLUMN IF EXISTS max_market_end_date;
-- Check if columns exist before dropping (using standard approach)
ALTER TABLE backtest_task DROP COLUMN price_tolerance;
ALTER TABLE backtest_task DROP COLUMN delay_seconds;
ALTER TABLE backtest_task DROP COLUMN min_order_depth;
ALTER TABLE backtest_task DROP COLUMN max_spread;
ALTER TABLE backtest_task DROP COLUMN min_price;
ALTER TABLE backtest_task DROP COLUMN max_price;
ALTER TABLE backtest_task DROP COLUMN max_position_value;
ALTER TABLE backtest_task DROP COLUMN max_market_end_date;