закончил создавать основные таблички
This commit is contained in:
parent
523b6d5b89
commit
16f04813a9
3
api/app/domain/entities/__init__.py
Normal file
3
api/app/domain/entities/__init__.py
Normal file
@ -0,0 +1,3 @@
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
Base = declarative_base()
|
||||
16
api/app/domain/models/appointment_files.py
Normal file
16
api/app/domain/models/appointment_files.py
Normal file
@ -0,0 +1,16 @@
|
||||
from sqlalchemy import Column, Integer, String, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from app.domain.models import Base
|
||||
|
||||
|
||||
class AppointmentFile(Base):
|
||||
__tablename__ = 'appointment_files'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
file_path = Column(String, nullable=False)
|
||||
file_title = Column(String, nullable=False)
|
||||
|
||||
appointment_id = Column(Integer, ForeignKey('appointments.id'), nullable=False)
|
||||
|
||||
appointment = relationship('Appointment', back_populates='files')
|
||||
@ -18,3 +18,5 @@ class Appointment(Base):
|
||||
patient = relationship('Patient', back_populates='appointments')
|
||||
doctor = relationship('User', back_populates='appointments')
|
||||
type = relationship('AppointmentType', back_populates='appointments')
|
||||
|
||||
files = relationship('AppointmentFile', back_populates='appointment')
|
||||
|
||||
21
api/app/domain/models/mailing.py
Normal file
21
api/app/domain/models/mailing.py
Normal file
@ -0,0 +1,21 @@
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from app.domain.models import Base
|
||||
|
||||
|
||||
class Mailing(Base):
|
||||
__tablename__ = 'mailing'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
text = Column(String, nullable=False)
|
||||
title = Column(String, nullable=False)
|
||||
datetime = Column(DateTime, nullable=False, default=func.utcnow)
|
||||
|
||||
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
|
||||
|
||||
user = relationship('User', back_populates='mailing')
|
||||
|
||||
recipients = relationship('Recipient', back_populates='mailing')
|
||||
mailing_options = relationship('MailingOption', back_populates='mailing')
|
||||
13
api/app/domain/models/mailing_delivery_methods.py
Normal file
13
api/app/domain/models/mailing_delivery_methods.py
Normal file
@ -0,0 +1,13 @@
|
||||
from sqlalchemy import Column, Integer, VARCHAR
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from app.domain.models import Base
|
||||
|
||||
|
||||
class MailingDeliveryMethod(Base):
|
||||
__tbalename__ = 'mailing_delivery_methods'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
title = Column(VARCHAR(200), nullable=False)
|
||||
|
||||
mailing = relationship('MailingOption', back_populates='option')
|
||||
16
api/app/domain/models/mailing_options.py
Normal file
16
api/app/domain/models/mailing_options.py
Normal file
@ -0,0 +1,16 @@
|
||||
from sqlalchemy import Column, Integer, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from app.domain.models import Base
|
||||
|
||||
|
||||
class MailingOption(Base):
|
||||
__tablename__ = 'mailing_options'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
|
||||
option_id = Column(Integer, ForeignKey('patients.id'), nullable=False)
|
||||
mailing_id = Column(Integer, ForeignKey('mailing.id'), nullable=False)
|
||||
|
||||
option = relationship('Patient', back_populates='mailing')
|
||||
mailing = relationship('Mailing', back_populates='mailing_options')
|
||||
@ -20,3 +20,4 @@ class Patient(Base):
|
||||
|
||||
lens_issues = relationship('LensIssue', back_populates='patient')
|
||||
appointments = relationship('Appointment', back_populates='patient')
|
||||
mailing = relationship('Mailing', back_populates='patient')
|
||||
|
||||
16
api/app/domain/models/recipients.py
Normal file
16
api/app/domain/models/recipients.py
Normal file
@ -0,0 +1,16 @@
|
||||
from sqlalchemy import Column, Integer, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from app.domain.models import Base
|
||||
|
||||
|
||||
class Recipient(Base):
|
||||
__tbalename__ = 'recipients'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
|
||||
patient_id = Column(Integer, ForeignKey('mailing_delivery_methods.id'), nullable=False)
|
||||
mailing_id = Column(Integer, ForeignKey('mailing.id'), nullable=False)
|
||||
|
||||
patient = relationship('MailingDeliveryMethod', back_populates='mailing')
|
||||
mailing = relationship('Mailing', back_populates='recipients')
|
||||
@ -20,3 +20,4 @@ class User(Base):
|
||||
|
||||
lens_issues = relationship('LensIssue', back_populates='doctor')
|
||||
appointments = relationship('Appointment', back_populates='doctor')
|
||||
mailing = relationship('Mailing', back_populates='user')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user