From 13809405657e2f51b602deaca5737577b93df8f0 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 2 Jan 2026 08:42:14 +0100 Subject: [PATCH] chore: remove binance pair naming migration --- freqtrade/util/migrations/__init__.py | 8 +-- freqtrade/util/migrations/binance_mig.py | 87 ------------------------ 2 files changed, 2 insertions(+), 93 deletions(-) delete mode 100644 freqtrade/util/migrations/binance_mig.py diff --git a/freqtrade/util/migrations/__init__.py b/freqtrade/util/migrations/__init__.py index 50f7dff01..20aafb04b 100644 --- a/freqtrade/util/migrations/__init__.py +++ b/freqtrade/util/migrations/__init__.py @@ -1,8 +1,4 @@ from freqtrade.exchange import Exchange -from freqtrade.util.migrations.binance_mig import ( - migrate_binance_futures_data, - migrate_binance_futures_names, -) from freqtrade.util.migrations.funding_rate_mig import migrate_funding_fee_timeframe @@ -10,7 +6,6 @@ def migrate_data(config, exchange: Exchange | None = None) -> None: """ Migrate persisted data from old formats to new formats """ - migrate_binance_futures_data(config) migrate_funding_fee_timeframe(config, exchange) @@ -20,4 +15,5 @@ def migrate_live_content(config, exchange: Exchange | None = None) -> None: Migrate database content from old formats to new formats Used for dry/live mode. """ - migrate_binance_futures_names(config) + # Currently not used + pass diff --git a/freqtrade/util/migrations/binance_mig.py b/freqtrade/util/migrations/binance_mig.py deleted file mode 100644 index b85ee721d..000000000 --- a/freqtrade/util/migrations/binance_mig.py +++ /dev/null @@ -1,87 +0,0 @@ -import logging - -from packaging import version -from sqlalchemy import select - -from freqtrade.constants import DOCS_LINK, Config -from freqtrade.enums import TradingMode -from freqtrade.exceptions import OperationalException -from freqtrade.persistence import KeyValueStore, Trade -from freqtrade.persistence.pairlock import PairLock - - -logger = logging.getLogger(__name__) - - -def migrate_binance_futures_names(config: Config): - """ - Migrate binance futures names in both database and data files. - This is needed because ccxt naming changed from "BTC/USDT" to "BTC/USDT:USDT" - """ - if not ( - config.get("trading_mode", TradingMode.SPOT) == TradingMode.FUTURES - and config["exchange"]["name"] == "binance" - ): - # only act on new futures - return - if KeyValueStore.get_int_value("binance_migration"): - # already migrated - return - import ccxt - - if version.parse("2.6.26") > version.parse(ccxt.__version__): - raise OperationalException( - "Please follow the update instructions in the docs " - f"({DOCS_LINK}/updating/) to install a compatible ccxt version." - ) - _migrate_binance_futures_db(config) - migrate_binance_futures_data(config) - KeyValueStore.store_value("binance_migration", 1) - - -def _migrate_binance_futures_db(config: Config): - logger.info("Migrating binance futures pairs in database.") - trades = Trade.get_trades([Trade.exchange == "binance", Trade.trading_mode == "FUTURES"]).all() - for trade in trades: - if ":" in trade.pair: - # already migrated - continue - new_pair = f"{trade.pair}:{trade.stake_currency}" - trade.pair = new_pair - - for order in trade.orders: - order.ft_pair = new_pair - # Should symbol be migrated too? - # order.symbol = new_pair - Trade.commit() - pls = PairLock.session.scalars(select(PairLock).filter(PairLock.pair.notlike("%:%"))).all() - for pl in pls: - pl.pair = f"{pl.pair}:{config['stake_currency']}" - # print(pls) - # pls.update({'pair': concat(PairLock.pair,':USDT')}) - Trade.commit() - logger.info("Done migrating binance futures pairs in database.") - - -def migrate_binance_futures_data(config: Config): - if not ( - config.get("trading_mode", TradingMode.SPOT) == TradingMode.FUTURES - and config["exchange"]["name"] == "binance" - ): - # only act on new futures - return - - from freqtrade.data.history import get_datahandler - - dhc = get_datahandler(config["datadir"], config["dataformat_ohlcv"]) - - paircombs = dhc.ohlcv_get_available_data( - config["datadir"], config.get("trading_mode", TradingMode.SPOT) - ) - - for pair, timeframe, candle_type in paircombs: - if ":" in pair: - # already migrated - continue - new_pair = f"{pair}:{config['stake_currency']}" - dhc.rename_futures_data(pair, new_pair, timeframe, candle_type)