Spaces:
Running
Running
| 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("数据库初始化完成") |