refactor: Simplify trading plans table structure with MergeTree engine and default values

This commit is contained in:
Bobby (aider) 2025-02-11 17:58:13 -08:00
parent 7ccb5a8065
commit 19f06601d9

View File

@ -77,6 +77,13 @@ class TradingPlan:
def create_trading_plan_table(): def create_trading_plan_table():
"""Create the trading plans table if it doesn't exist""" """Create the trading plans table if it doesn't exist"""
with create_client() as client: with create_client() as client:
# First, try to drop the table if it exists
try:
client.execute("DROP TABLE IF EXISTS trading_plans")
except Exception as e:
print(f"Error dropping table: {e}")
# Create new table with simpler structure
query = """ query = """
CREATE TABLE IF NOT EXISTS trading_plans CREATE TABLE IF NOT EXISTS trading_plans
( (
@ -104,21 +111,22 @@ def create_trading_plan_table():
max_portfolio_risk Float64, max_portfolio_risk Float64,
adjustments_for_drawdown String, adjustments_for_drawdown String,
risk_controls String, risk_controls String,
win_rate Nullable(Float64), win_rate Float64 DEFAULT 0,
average_return_per_trade Nullable(Float64), average_return_per_trade Float64 DEFAULT 0,
profit_factor Nullable(Float64), profit_factor Float64 DEFAULT 0,
historical_backtest_results Nullable(String), historical_backtest_results String,
real_trade_performance Nullable(String), real_trade_performance String,
improvements_needed Nullable(String), improvements_needed String,
strategy_version UInt32, strategy_version UInt32,
plan_author String, plan_author String,
trade_review_notes Nullable(String), trade_review_notes String,
future_testing_ideas Nullable(String), future_testing_ideas String,
sector_focus Nullable(String), sector_focus String,
fundamental_criteria Nullable(String), fundamental_criteria String,
options_strategy_details Nullable(String) options_strategy_details String
) )
ENGINE = Log ENGINE = MergeTree
PRIMARY KEY (id)
""" """
client.execute(query) client.execute(query)