28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
"""数据库配置:SQLite / PostgreSQL 连接参数。"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from typing import Literal
|
||
|
||
from pydantic_settings import BaseSettings
|
||
|
||
|
||
class DatabaseConfig(BaseSettings):
|
||
"""数据库配置。
|
||
|
||
本地开发默认使用 SQLite(``aiosqlite``);正式环境通过 ``DATABASE_TYPE=pgsql``
|
||
切换到 PostgreSQL(``asyncpg``)。``DATABASE_URL`` 优先级最高,可直接覆盖。
|
||
"""
|
||
|
||
database_type: Literal["sqlite", "pgsql"] = "sqlite" # 数据库类型
|
||
sqlite_database_path: str = "../db/hunjing.sqlite3" # SQLite 数据库路径(相对 backend)
|
||
database_url: str = "" # 自定义数据库连接 URL(优先级最高)
|
||
postgres_host: str = "127.0.0.1" # PostgreSQL 主机
|
||
postgres_port: int = 5432 # PostgreSQL 端口
|
||
postgres_db: str = "hunjing" # PostgreSQL 数据库名
|
||
postgres_user: str = "hunjing" # PostgreSQL 用户名
|
||
postgres_password: str = "change-me" # PostgreSQL 密码
|
||
postgres_ssl: bool = False # 是否启用 SSL
|
||
postgres_pool_size: int = 10 # 连接池大小
|
||
postgres_max_overflow: int = 20 # 连接池最大溢出连接数
|