diff --git a/fastapi_mctools/commands/_templates/settings.py-tpl b/fastapi_mctools/commands/_templates/settings.py-tpl index cfe296c..33caacb 100644 --- a/fastapi_mctools/commands/_templates/settings.py-tpl +++ b/fastapi_mctools/commands/_templates/settings.py-tpl @@ -1,14 +1,10 @@ from pathlib import Path -from decouple import AutoConfig -from zoneinfo import ZoneInfo, tz -from pydantic_settings import BaseSettings - - -BASE_DIR = Path(__file__).resolve().parent.parent -config = AutoConfig(search_path=BASE_DIR) +from zoneinfo import ZoneInfo +from pydantic_settings import BaseSettings, SettingsConfigDict class AppSettings(BaseSettings): + model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8") DEBUG: bool = config("DEBUG", cast=bool, default=True) OPENAPI_URL: str | None = "/openapi.json" if DEBUG else None API_PREFIX: str = "/api/v1" diff --git a/fastapi_mctools/db/sqlalchemy.py b/fastapi_mctools/db/sqlalchemy.py index df74fae..c3bb073 100644 --- a/fastapi_mctools/db/sqlalchemy.py +++ b/fastapi_mctools/db/sqlalchemy.py @@ -31,11 +31,11 @@ class AsyncDB: get_db = AsyncDB(db_url) """ - def __init__(self, db_url: str, meta: MetaData = None, **kwargs) -> None: + def __init__(self, db_url: str, meta: MetaData = None, engine_config: dict = {}, session_config: dict = {}) -> None: self.db_url = db_url self.meta = meta - self.__engine = create_async_engine(db_url) - self.__async_session = async_sessionmaker(self.__engine, **kwargs) + self.__engine = create_async_engine(db_url, **engine_config) + self.__async_session = async_sessionmaker(self.__engine, **session_config) @property def engine(self) -> Engine: diff --git a/pyproject.toml b/pyproject.toml index 6d97d7d..6185479 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "fastapi-mctools" -version = "0.5.2" +version = "0.6.0" description = "Fastapi mc style tools to make it easier to develop." authors = [ {name = "Jungminchae", email = "minchae3618@gmail.com"}