69 lines
2.2 KiB
Python
69 lines
2.2 KiB
Python
|
|
import sys
|
|
import os
|
|
from pathlib import Path
|
|
import re
|
|
|
|
# Add backend directory to sys.path
|
|
backend_path = Path(__file__).parent
|
|
sys.path.insert(0, str(backend_path))
|
|
|
|
try:
|
|
from database.connection import db
|
|
print("Database connection imported successfully.")
|
|
except ImportError as e:
|
|
print(f"Error importing database connection: {e}")
|
|
sys.exit(1)
|
|
|
|
def is_ascii(s):
|
|
return all(ord(c) < 128 for c in s)
|
|
|
|
def check_table(table_name, column_name):
|
|
print(f"Checking table '{table_name}' column '{column_name}'...")
|
|
try:
|
|
query = f"SELECT DISTINCT {column_name} FROM {table_name}"
|
|
rows = db.execute_query(query)
|
|
|
|
found_invalid = False
|
|
for row in rows:
|
|
symbol = row.get(column_name)
|
|
if symbol and not is_ascii(symbol):
|
|
print(f"!!! FOUND INVALID SYMBOL in {table_name}: '{symbol}'")
|
|
found_invalid = True
|
|
if symbol and "币安" in symbol:
|
|
print(f"!!! FOUND '币安' in {table_name}: '{symbol}'")
|
|
found_invalid = True
|
|
|
|
if not found_invalid:
|
|
print(f"No invalid symbols found in {table_name}.")
|
|
|
|
except Exception as e:
|
|
print(f"Error querying {table_name}: {e}")
|
|
|
|
def check_config(table_name):
|
|
print(f"Checking table '{table_name}' for '币安'...")
|
|
try:
|
|
query = f"SELECT config_key, config_value FROM {table_name}"
|
|
rows = db.execute_query(query)
|
|
|
|
for row in rows:
|
|
key = row.get('config_key')
|
|
val = row.get('config_value')
|
|
|
|
if val and "币安" in str(val):
|
|
# Ignore expected descriptions/comments if any (usually description is separate column)
|
|
# But here we check config_value
|
|
print(f"Found '币安' in {table_name} KEY='{key}': VALUE='{val}'")
|
|
|
|
if key and "币安" in str(key):
|
|
print(f"Found '币安' in {table_name} KEY='{key}'")
|
|
|
|
except Exception as e:
|
|
print(f"Error querying {table_name}: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
check_table("trades", "symbol")
|
|
check_table("trade_recommendations", "symbol")
|
|
check_config("trading_config")
|
|
check_config("global_strategy_config")
|