Skip to content

Commit 5e3cc11

Browse files
committed
updating example
1 parent 81d23ac commit 5e3cc11

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

examples/fastapi_example.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from fastapi.responses import RedirectResponse
1414
from loguru import logger
1515
from pydantic import BaseModel, EmailStr
16-
from sqlalchemy import Column, ForeignKey, Select, String
16+
from sqlalchemy import Column, ForeignKey, Select, String, insert
1717
from sqlalchemy.orm import relationship
1818
from tqdm import tqdm
1919

@@ -99,7 +99,7 @@ async def lifespan(app: FastAPI):
9999

100100
create_users = True
101101
if create_users:
102-
await create_a_bunch_of_users(single_entry=2000, many_entries=20000)
102+
await create_a_bunch_of_users(single_entry=2, many_entries=100)
103103
yield
104104
logger.info("shutting down")
105105
await async_db.disconnect()
@@ -341,6 +341,32 @@ async def read_list_of_records(
341341
return records_list
342342

343343

344+
@app.post("/database/execute-one", tags=["Database Examples"])
345+
async def execute_query(query: str = Body(...)):
346+
# add a user with execute_one
347+
logger.info(f"Executing query: {query}")
348+
349+
query = insert(User).values(first_name='John', last_name='Doe',email='x@abc.com')
350+
result = await db_ops.execute_one(query)
351+
logger.info(f"Executed query: {result}")
352+
query_return = await db_ops.read_query(Select(User).where(User.first_name == 'John'))
353+
return query_return
354+
355+
@app.post("/database/execute-many", tags=["Database Examples"])
356+
async def execute_many(query: str = Body(...)):
357+
# multiple users with execute_many
358+
logger.info(f"Executing query: {query}")
359+
queries = []
360+
361+
for i in range(10):
362+
query = insert(User).values(first_name=f'User{i}', last_name='Doe',email='x@abc.com')
363+
queries.append(query)
364+
365+
results = await db_ops.execute_many(queries)
366+
logger.info(f"Executed query: {results}")
367+
query_return = await db_ops.read_query(Select(User))
368+
return query_return
369+
344370
if __name__ == "__main__":
345371
import uvicorn
346372

0 commit comments

Comments
 (0)