Use commit instead of .flush()

This commit is contained in:
Matthias
2021-04-13 19:52:33 +02:00
parent eaa47ff335
commit 6fb32c3594
4 changed files with 15 additions and 11 deletions

View File

@@ -187,7 +187,7 @@ class FreqtradeBot(LoggingMixin):
if self.get_free_open_trades():
self.enter_positions()
Trade.query.session.flush()
Trade.query.session.commit()
def process_stopped(self) -> None:
"""
@@ -620,7 +620,7 @@ class FreqtradeBot(LoggingMixin):
self.update_trade_state(trade, order_id, order)
Trade.query.session.add(trade)
Trade.query.session.flush()
Trade.query.session.commit()
# Updating wallets
self.wallets.update()
@@ -706,6 +706,7 @@ class FreqtradeBot(LoggingMixin):
if (self.strategy.order_types.get('stoploss_on_exchange') and
self.handle_stoploss_on_exchange(trade)):
trades_closed += 1
Trade.query.session.commit()
continue
# Check if we can sell our current pair
if trade.open_order_id is None and trade.is_open and self.handle_trade(trade):
@@ -1036,6 +1037,7 @@ class FreqtradeBot(LoggingMixin):
elif order['side'] == 'sell':
self.handle_cancel_sell(trade, order, constants.CANCEL_REASON['ALL_CANCELLED'])
Trade.query.session.commit()
def handle_cancel_buy(self, trade: Trade, order: Dict, reason: str) -> bool:
"""
@@ -1233,7 +1235,7 @@ class FreqtradeBot(LoggingMixin):
# In case of market sell orders the order can be closed immediately
if order.get('status', 'unknown') == 'closed':
self.update_trade_state(trade, trade.open_order_id, order)
Trade.query.session.flush()
Trade.query.session.commit()
# Lock pair for one candle to prevent immediate re-buys
self.strategy.lock_pair(trade.pair, datetime.now(timezone.utc),
@@ -1374,6 +1376,7 @@ class FreqtradeBot(LoggingMixin):
# Handling of this will happen in check_handle_timeout.
return True
trade.update(order)
Trade.query.session.commit()
# Updating wallets when order is closed
if not trade.is_open: