table is found but still getting the table not found error where my main file is main.py
import uvicorn
from starlette.applications import Starlette
from starlette.routing import Route
from API.get import GetMethod
from API.post import PostMethod
from db import engine
from sqlalchemy.orm import declarative_base
Base = declarative_base()
routes = [Route("/get", endpoint=GetMethod, methods=["GET"]),
Route("/post", endpoint=PostMethod, methods=["POST"]),
]
app = Starlette(
routes=routes
)
@app.on_event("startup")
def on_startup():
Base.metadata.create_all(engine)
if __name__ == "__main__":
uvicorn.run("carsharing:app", reload=True)
Database table file and schemas.py:
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class PersonDetail(Base):
__tablename__ = 'PersonDetail'
id = Column(Integer, primary_key=True)
name = Column(String)
get.py is
from starlette.requests import Request
from starlette.responses import PlainTextResponse, JSONResponse, RedirectResponse, Response
from db import engine
from schemas import PersonDetail
from sqlalchemy.orm import Session
local_session = Session(bind=engine, expire_on_commit=False)
def GetMethod(request):
return local_session.query(PersonDetail).all()
Database file is db.py is
from sqlalchemy.orm import Session
from sqlalchemy import create_engine
engine = create_engine(
"sqlite:///PersonalDetail.db",
connect_args={"check_same_thread": False},
echo=True)
def get_session():
with Session(engine) as session:
yield session