Spaces:
Sleeping
Sleeping
File size: 1,600 Bytes
d0e0a14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
from sqlalchemy import Column, String, Integer, LargeBinary, Text, VARCHAR, ForeignKey
from sqlalchemy.orm import relationship
from project.config import settings
from project.database import Base
class Folder(Base):
__tablename__ = 'folders'
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
name = Column(VARCHAR(128))
user_id = Column(Integer, ForeignKey('users.id'))
owner = relationship('User', back_populates='folders')
audio_records = relationship('AudioRecord', back_populates='folder')
images = relationship('ImageRecord', back_populates='folder')
class AudioRecord(Base):
__tablename__ = 'audio_records'
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
audio_path = Column(VARCHAR(512))
transcription = Column(Text)
folder_id = Column(Integer, ForeignKey('folders.id'))
folder = relationship('Folder', back_populates='audio_records')
class ImageRecord(Base):
__tablename__ = 'image_records'
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
image_path = Column(VARCHAR(512), default=str(settings.BASE_DIR / 'images' / 'base_img.jpg'))
transcription = Column(Text)
folder_id = Column(Integer, ForeignKey('folders.id'))
folder = relationship('Folder', back_populates='images')
class Report(Base):
__tablename__ = 'reports'
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
content = Column(Text)
user = relationship('User', back_populates='reports')
user_id = Column(Integer, ForeignKey('users.id')) |