"""SQLAlchemy ORM models. Importing this package registers every model on ``Base.metadata``, which is what ``alembic revision --autogenerate`` inspects. A new model therefore has to be added to the imports below, not only to its own module. The import order here is for readability only: relationships are declared by name and resolved through the SQLAlchemy registry after every module has been imported, so a cycle between two model modules is not a problem. """ from app.models.mixins import TimestampMixin from app.models.paper import ( PAPER_STATUSES, STATUS_DONE, STATUS_DRAFT, STATUS_WRITING, Paper, ) from app.models.paper_sentence import PaperSentence from app.models.paper_sentence_reference import PaperSentenceReference from app.models.paper_template import PaperTemplate from app.models.section_field import SectionField from app.models.template_field import TemplateField __all__ = [ "PAPER_STATUSES", "STATUS_DONE", "STATUS_DRAFT", "STATUS_WRITING", "Paper", "PaperSentence", "PaperSentenceReference", "PaperTemplate", "SectionField", "TemplateField", "TimestampMixin", ]