Refactor database models and schemas to allow nullable fields; update init_database function for improved initialization.

This commit is contained in:
bolade
2025-09-26 15:24:42 +01:00
parent 0f7beca5e1
commit f2bbcb96f3
17 changed files with 196 additions and 59 deletions
+11 -2
View File
@@ -1,7 +1,7 @@
import io
import pandas as pd
from db.db import db_dependency, init_database
from db.db import Base, db_dependency, engine
from dotenv import load_dotenv
from fastapi import FastAPI, File, Form, UploadFile
from pydantic import BaseModel
@@ -11,6 +11,13 @@ from services.llm_parser import InvestorProcessor
from services.querying import QueryProcessor
load_dotenv()
def init_database():
"""Initialize the database by creating all tables"""
Base.metadata.create_all(bind=engine)
init_database()
app = FastAPI()
@@ -34,7 +41,9 @@ def health():
@app.post("/parse-csv", tags=["CSV Upload"], response_model=list[dict])
async def parse_csv(db: db_dependency, file: UploadFile = File(...), is_investor: int = Form(...)):
async def parse_csv(
db: db_dependency, file: UploadFile = File(...), is_investor: int = Form(...)
):
# Read uploaded CSV with pandas
content = await file.read()
df = pd.read_csv(io.StringIO(content.decode("utf-8")))