fix model

This commit is contained in:
poturaevpetr
2025-12-25 22:03:53 +05:00
parent fa4c46173f
commit c2289bfc45
5 changed files with 19 additions and 20 deletions
+2 -2
View File
@@ -18,5 +18,5 @@ class AiConclusion(Base):
index_date = Column(DateTime, default=datetime.utcnow)
end_date = Column(DateTime)
audio_id = Column(UUID(as_uuid=True), ForeignKey("audio.id"))
version = relationship("ConclusionVersion", back_populates="ai_conclusion")
audio = relationship("Audio", back_populates="ai_conclusion")
versions = relationship("ConclusionVersion", back_populates="ai_conclusion")
+4 -1
View File
@@ -1,4 +1,5 @@
from sqlalchemy import Column, UUID, ForeignKey, Integer, Text
from sqlalchemy.orm import relationship
from apiApp.database import Base
import uuid
@@ -9,4 +10,6 @@ class ConclusionVersion(Base):
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
conclusion_id = Column(UUID(as_uuid=True), ForeignKey("ai_conclusion.id"))
version = Column(Integer)
content = Column(Text)
content = Column(Text)
ai_conclusion = relationship("AiConclusion", back_populates="versions")
+2 -2
View File
@@ -11,6 +11,6 @@ class Operator(Base):
fio = Column(String(100))
num = Column(Integer)
calls = relationship("Call", back_populates="operator")
# TODO: Добавить relationship когда будет создана модель Call
# calls = relationship("Call", back_populates="operator")
+4 -1
View File
@@ -28,4 +28,7 @@ def get_db():
from apiApp.database.Operator import Operator
from apiApp.database.Audio import Audio
from apiApp.database.AiConclusion import AiConclusion
from apiApp.database.ConclusionVersion import ConclusionVersion
from apiApp.database.ConclusionVersion import ConclusionVersion
# Все модели должны быть импортированы здесь для правильной работы SQLAlchemy metadata
# Это гарантирует, что все relationship будут работать корректно
+7 -14
View File
@@ -1,21 +1,14 @@
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, Session
from autoLoader.config import DATABASE_URL
from contextlib import contextmanager
# Создание engine
engine = create_engine(
DATABASE_URL,
connect_args={"check_same_thread": False} if "sqlite" in DATABASE_URL else {}
)
# Создаём engine, но используем Base из apiApp.database
from apiApp.database import Base, engine
# SessionLocal
# SessionLocal (используем тот же engine)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# Base (используем тот же Base, что и в apiApp.database)
from apiApp.database import Base
# Зависимость для получения сессии БД (для FastAPI)
def get_db():
@@ -41,7 +34,7 @@ def get_db_session():
db.close()
# Импортируем модели из apiApp.database
from apiApp.database.Audio import Audio
from apiApp.database.AiConclusion import AiConclusion
from apiApp.database.ConclusionVersion import ConclusionVersion
# Импортируем ТОЛЬКО нужные модели из apiApp.database
# Operator не импортируем, чтобы избежать проблем с Call
from autoLoader.database.Audio import Audio