Skip to content
This repository was archived by the owner on Oct 31, 2024. It is now read-only.

Commit 49c739e

Browse files
committed
fix: minor changes
1 parent 78070b4 commit 49c739e

File tree

6 files changed

+22
-14
lines changed

6 files changed

+22
-14
lines changed

app/migrations/env.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from alembic import context
99

10-
from src.core.config import settings
10+
from src.db.url import get_sqlalchemy_url
1111
from src.db.base_class import Base
1212

1313
from src.models import * # necessarily to import something from file where your models are stored
@@ -38,16 +38,6 @@
3838
# ... etc.
3939

4040

41-
def get_sqlalchemy_url() -> str:
42-
p_user = settings.POSTGRES_USER
43-
p_password = settings.POSTGRES_PASSWORD
44-
p_server = settings.POSTGRES_SERVER
45-
p_db = settings.POSTGRES_DB
46-
p_port = settings.POSTGRES_PORT
47-
48-
return f"postgresql+asyncpg://{p_user}:{p_password}@{p_server}:{p_port}/{p_db}"
49-
50-
5141
def run_migrations_offline() -> None:
5242
"""Run migrations in 'offline' mode.
5343

app/requirements/prod.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@ pydantic==1.10.4
55

66
# Database stuff
77
SQLAlchemy==1.4.46
8+
fastapi-async-sqlalchemy==0.3.12
89
sqlmodel==0.0.8
910
alembic==1.9.2
1011
asyncpg==0.27.0
1112
aioredis==2.0.1
1213

1314
# Env
14-
python-dotenv==0.21.0
15+
python-dotenv==0.21.1
1516

1617
# JWT
1718
pyjwt==2.6.0
1819

1920
# etc
20-
email-validator==1.3.0
21+
email-validator==1.3.1
2122
passlib==1.7.4
File renamed without changes.

app/src/db/redis.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import aioredis
2+
from aioredis import Redis
23

34
from src.core.config import settings
45

@@ -7,4 +8,7 @@
78
redis_username = settings.REDIS_USERNAME
89
redis_password = settings.REDIS_PASSWORD
910

10-
redis = await aioredis.from_url("redis://localhost", db=redis_db, password=redis_password, username=redis_username)
11+
12+
async def get_redis_client() -> Redis:
13+
redis = await aioredis.from_url("redis://localhost", db=redis_db, password=redis_password, username=redis_username)
14+
return redis

app/src/db/session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
echo=True,
1111
future=True,
1212
pool_size=settings.SQLALCHEMY_POOL_SIZE,
13+
max_overflow=settings.SQLALCHEMY_MAX_OVERFLOW,
1314
)
1415

1516
# TODO: configure setting to postgres db (pool_size, pool_recycle, pool_timeout ...)

app/src/db/url.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from src.core.config import settings
2+
3+
4+
def get_sqlalchemy_url() -> str:
5+
"""Get and build SQLAlchemy URL from settings."""
6+
p_user = settings.POSTGRES_USER
7+
p_password = settings.POSTGRES_PASSWORD
8+
p_server = settings.POSTGRES_SERVER
9+
p_db = settings.POSTGRES_DB
10+
p_port = settings.POSTGRES_PORT
11+
12+
return f"postgresql+asyncpg://{p_user}:{p_password}@{p_server}:{p_port}/{p_db}"

0 commit comments

Comments
 (0)