Skip to content

Commit 0d6fb88

Browse files
committed
use pydantic_settings
1 parent f249dbd commit 0d6fb88

File tree

4 files changed

+32
-18
lines changed

4 files changed

+32
-18
lines changed

config/config.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import os
2+
import dotenv
3+
from pydantic_settings import Bas
4+
5+
dotenv.load_dotenv()
26

37

48
class Settings():
59

610

711
#POSTGRESQL
8-
POSTGRES_USER: str = os.environ.get("POSTGRES_USER")
9-
POSTGRES_PASSWORD: str = os.environ.get("POSTGRES_PASSWORD")
10-
POSTGRES_DB: str = os.environ.get("POSTGRES_DB")
11-
POSTGRES_SERVER: str = os.environ.get("POSTGRES_SERVER")
12-
POSTGRES_PORT: str = os.environ.get("POSTGRES_PORT")
13-
14-
#REDIS
15-
redis_host: str = os.environ.get("REDIS_HOST")
16-
redis_port: str = os.environ.get("REDIS_PORT")
12+
POSTGRES_USER: str = os.environ.get("POSTGRES_USER", "darix")
13+
POSTGRES_PASSWORD: str = os.environ.get("POSTGRES_PASSWORD", "6775212952")
14+
POSTGRES_DB: str = os.environ.get("POSTGRES_DB", "fastapi_postgres")
15+
POSTGRES_SERVER: str = os.environ.get("POSTGRES_SERVER", "localhost")
16+
POSTGRES_PORT: str = os.environ.get("POSTGRES_PORT", 5432)
1717

1818

1919

@@ -24,7 +24,7 @@ class Settings():
2424

2525
class Config:
2626
env_file = ".env.dev"
27-
orm_mode = True
27+
from_attributes = True
2828

2929

3030
settings = Settings()

database/database.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import dotenv
21
from sqlmodel import SQLModel
32
from sqlalchemy import create_engine
43
from sqlalchemy.ext.declarative import declarative_base
@@ -7,15 +6,13 @@
76
from config.config import settings
87
import os
98

10-
dotenv.load_dotenv()
11-
129

1310
def get_url():
14-
user = os.getenv("POSTGRES_USER", "darix")
15-
password = os.getenv("POSTGRES_PASSWORD", "darix")
16-
server = os.getenv("POSTGRES_SERVER", "localhost")
17-
db = os.getenv("POSTGRES_DB", "darix")
18-
port = os.getenv("POSTGRES_PORT", 5432)
11+
user = settings.POSTGRES_USER
12+
password = settings.POSTGRES_PASSWORD
13+
server = settings.POSTGRES_SERVER
14+
db = settings.POSTGRES_DB
15+
port = settings.POSTGRES_PORT
1916
return f"postgresql+asyncpg://{user}:{password}@{server}:{port}/{db}"
2017

2118

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ dependencies = [
1212
"fastapi>=0.115.12",
1313
"passlib[bcrypt]>=1.7.4",
1414
"psycopg2-binary>=2.9.10",
15+
"pydantic-settings>=2.12.0",
1516
"pydantic[email]>=2.11.7",
1617
"pyjwt>=2.10.1",
1718
"python-dotenv>=1.1.0",

uv.lock

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)