refactor: Improve NULL handling in unlink_trades_from_plan function
This commit is contained in:
parent
84378e32f8
commit
b35349c885
@ -316,12 +316,24 @@ def unlink_trades_from_plan(plan_id: int) -> bool:
|
|||||||
"""Unlink all trades from a trading plan"""
|
"""Unlink all trades from a trading plan"""
|
||||||
with create_client() as client:
|
with create_client() as client:
|
||||||
try:
|
try:
|
||||||
query = """
|
# First update the plan's metrics to NULL
|
||||||
|
plan_update_query = """
|
||||||
|
ALTER TABLE trading_plans
|
||||||
|
UPDATE
|
||||||
|
win_rate = NULL,
|
||||||
|
average_return_per_trade = NULL,
|
||||||
|
profit_factor = NULL
|
||||||
|
WHERE id = %(plan_id)s
|
||||||
|
"""
|
||||||
|
client.command(plan_update_query, {'plan_id': plan_id})
|
||||||
|
|
||||||
|
# Then unlink the trades
|
||||||
|
trades_update_query = """
|
||||||
ALTER TABLE stock_db.trades
|
ALTER TABLE stock_db.trades
|
||||||
UPDATE plan_id = NULL
|
UPDATE plan_id = NULL
|
||||||
WHERE plan_id = %(plan_id)s
|
WHERE plan_id = %(plan_id)s
|
||||||
"""
|
"""
|
||||||
client.command(query, {'plan_id': plan_id})
|
client.command(trades_update_query, {'plan_id': plan_id})
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error unlinking trades from plan: {e}")
|
print(f"Error unlinking trades from plan: {e}")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user