ALI7ADEL commited on
Commit
9dff554
·
verified ·
1 Parent(s): 738771a

Update src/db/database.py

Browse files
Files changed (1) hide show
  1. src/db/database.py +35 -36
src/db/database.py CHANGED
@@ -1,37 +1,36 @@
1
- """
2
- Database connection and session management.
3
- """
4
-
5
- from typing import AsyncGenerator
6
- from sqlalchemy.ext.asyncio import AsyncEngine, create_async_engine
7
- from sqlalchemy.orm import sessionmaker
8
- from sqlmodel import SQLModel
9
- from sqlmodel.ext.asyncio.session import AsyncSession
10
-
11
- from src.utils.config import settings
12
-
13
- async_engine: AsyncEngine = create_async_engine(
14
- settings.database_url,
15
- echo=False,
16
- future=True,
17
- connect_args={"statement_cache_size": 0}
18
- )
19
-
20
- async def create_db_and_tables():
21
- """Create database tables defined in SQLModel models."""
22
- async with async_engine.begin() as conn:
23
- await conn.run_sync(SQLModel.metadata.create_all)
24
-
25
- async def get_session() -> AsyncGenerator[AsyncSession, None]:
26
- """
27
- Dependency to provide async database session.
28
- Yields:
29
- AsyncSession: Database session
30
- """
31
- async_session = sessionmaker(
32
- bind=async_engine,
33
- class_=AsyncSession,
34
- expire_on_commit=False
35
- )
36
- async with async_session() as session:
37
  yield session
 
1
+ """
2
+ Database connection and session management.
3
+ """
4
+
5
+ from typing import AsyncGenerator
6
+ from sqlalchemy.ext.asyncio import AsyncEngine, create_async_engine
7
+ from sqlalchemy.orm import sessionmaker
8
+ from sqlmodel import SQLModel
9
+ from sqlmodel.ext.asyncio.session import AsyncSession
10
+
11
+ DATABASE_URL = "sqlite+aiosqlite:///./database.db"
12
+
13
+ async_engine: AsyncEngine = create_async_engine(
14
+ DATABASE_URL,
15
+ echo=False,
16
+ future=True,
17
+ )
18
+
19
+ async def create_db_and_tables():
20
+ """Create database tables defined in SQLModel models."""
21
+ async with async_engine.begin() as conn:
22
+ await conn.run_sync(SQLModel.metadata.create_all)
23
+
24
+ async def get_session() -> AsyncGenerator[AsyncSession, None]:
25
+ """
26
+ Dependency to provide async database session.
27
+ Yields:
28
+ AsyncSession: Database session
29
+ """
30
+ async_session = sessionmaker(
31
+ bind=async_engine,
32
+ class_=AsyncSession,
33
+ expire_on_commit=False
34
+ )
35
+ async with async_session() as session:
 
36
  yield session