Add PostgreSQL production backend to eliminate SQLite lock contention.

Support DATABASE_URL with connection pooling, pg_dump backups, SQLite migration script, and deploy_postgres.sh with docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-01 08:11:42 +08:00
parent 39eac983ff
commit 52aca456e9
23 changed files with 1208 additions and 150 deletions
+4 -4
View File
@@ -7,13 +7,12 @@
import json
import os
import re
import sqlite3
from datetime import datetime
from typing import Optional
from contract_specs import get_contract_spec
from db_conn import connect_db
from db_conn import connect_db, is_benign_migration_error
DB_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "futures.db")
DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data")
@@ -54,8 +53,9 @@ def ensure_fee_rates_schema(conn=None) -> None:
):
try:
conn.execute(sql)
except sqlite3.OperationalError:
pass
except Exception as exc:
if not is_benign_migration_error(exc):
raise
conn.commit()
finally:
if close: