import os from sqlalchemy import create_engine, text # 数据库配置 DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./test.db") engine = create_engine(DATABASE_URL) def init_database(): # 创建 idempotency 表 with engine.connect() as conn: conn.execute(text(""" CREATE TABLE IF NOT EXISTS idempotency ( trade_no VARCHAR(64) PRIMARY KEY, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) """)) # 创建 users 表 conn.execute(text(""" CREATE TABLE IF NOT EXISTS users ( account VARCHAR(255) PRIMARY KEY, balance FLOAT DEFAULT 0 ) """)) # 创建 transactions 表 conn.execute(text(""" CREATE TABLE IF NOT EXISTS transactions ( id INTEGER PRIMARY KEY AUTOINCREMENT, account VARCHAR(255), amount FLOAT, transaction_type VARCHAR(50), description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) """)) conn.commit() if __name__ == "__main__": init_database() print("数据库初始化完成")