mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 04:46:26 +00:00
refactor: 移除PostgreSQL支持并优化数据库初始化流程
移除PostgreSQL相关配置和代码,简化数据库连接逻辑。优化数据库初始化流程,避免重复创建表和插入数据。改进Redis缓存配置,移除不必要的过期时间设置。
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user