refactor: 移除PostgreSQL支持并优化数据库初始化流程

移除PostgreSQL相关配置和代码,简化数据库连接逻辑。优化数据库初始化流程,避免重复创建表和插入数据。改进Redis缓存配置,移除不必要的过期时间设置。
This commit is contained in:
zhangtao
2025-05-23 00:04:13 +08:00
parent 27fa41937b
commit cb138adc9b
16 changed files with 107 additions and 171 deletions
+12 -22
View File
@@ -81,7 +81,6 @@ class Settings(BaseSettings):
ACCESS_TOKEN_EXPIRE_MINUTES: int = 1440 # access_token过期时间(分钟)
REFRESH_TOKEN_EXPIRE_MINUTES: int = 10080 # refresh_token过期时间(分钟)
TOKEN_TYPE: str = "bearer" # token类型
JWT_REDIS_EXPIRE_MINUTES: int = 30 # redis缓存过期时间(分钟)
# ================================================= #
# ******************** 数据库配置 ******************* #
@@ -110,13 +109,6 @@ class Settings(BaseSettings):
MYSQL_PORT: int
MYSQL_DB_NAME: str
# PostgreSQL数据库连接
POSTGRESQL_USER: str
POSTGRESQL_PASSWORD: str
POSTGRESQL_HOST: str
POSTGRESQL_PORT: int
POSTGRESQL_DB_NAME: str
# ================================================= #
# ******************** MongoDB配置 ******************* #
# ================================================= #
@@ -250,34 +242,32 @@ class Settings(BaseSettings):
@property
def DB_URI(self) -> str:
"""获取数据库连接"""
supported_db_drivers = ("sqlite", "mysql", "postgresql")
supported_db_drivers = ("sqlite", "mysql")
if settings.DB_DRIVER not in supported_db_drivers:
raise ValueError(f"数据库驱动不支持: {settings.DB_DRIVER}, 请选择 {supported_db_drivers}")
if settings.DB_DRIVER == "sqlite":
SQLITE_URI: str = f"sqlite+aiosqlite:///{settings.BASE_DIR.joinpath(settings.SQLITE_DB_NAME)}?characterEncoding=UTF-8"
return SQLITE_URI
elif settings.DB_DRIVER == "mysql":
if settings.DB_DRIVER == "mysql":
MYSQL_URI: MySQLDsn = f"mysql+asyncmy://{settings.MYSQL_USER}:{settings.MYSQL_PASSWORD}@{settings.MYSQL_HOST}:{settings.MYSQL_PORT}/{settings.MYSQL_DB_NAME}?charset=utf8mb4"
return MYSQL_URI
else:
POSRGRES_URI: PostgresDsn = f"postgresql+asyncpg://{settings.POSTGRESQL_USER}:{settings.POSTGRESQL_PASSWORD}@{settings.POSTGRESQL_HOST}:{settings.POSTGRESQL_PORT}/{settings.POSTGRESQL_DB_NAME}"
return POSRGRES_URI
SQLITE_URI: str = f"sqlite+aiosqlite:///{settings.BASE_DIR.joinpath(settings.SQLITE_DB_NAME)}?characterEncoding=UTF-8"
return SQLITE_URI
@property
def DATABASES_URI(self) -> str:
"""获取数据库连接"""
supported_db_drivers = ("sqlite", "mysql", "postgresql")
supported_db_drivers = ("sqlite", "mysql")
if settings.DB_DRIVER not in supported_db_drivers:
raise ValueError(f"数据库驱动不支持: {settings.DB_DRIVER}, 请选择 {supported_db_drivers}")
if settings.DB_DRIVER == "sqlite":
SQLITE_URI: str = f"sqlite:///{settings.BASE_DIR.joinpath(settings.SQLITE_DB_NAME)}?characterEncoding=UTF-8"
return SQLITE_URI
elif settings.DB_DRIVER == "mysql":
if settings.DB_DRIVER == "mysql":
MYSQL_URI: MySQLDsn = f"mysql+pymysql://{settings.MYSQL_USER}:{settings.MYSQL_PASSWORD}@{settings.MYSQL_HOST}:{settings.MYSQL_PORT}/{settings.MYSQL_DB_NAME}?charset=utf8mb4"
return MYSQL_URI
else:
POSRGRES_URI: PostgresDsn = f"postgresql://{settings.POSTGRESQL_USER}:{settings.POSTGRESQL_PASSWORD}@{settings.POSTGRESQL_HOST}:{settings.POSTGRESQL_PORT}/{settings.POSTGRESQL_DB_NAME}"
return POSRGRES_URI
SQLITE_URI: str = f"sqlite:///{settings.BASE_DIR.joinpath(settings.SQLITE_DB_NAME)}?characterEncoding=UTF-8"
return SQLITE_URI
@property
def MONGO_DB_URI(self) -> MongoDsn: