Spaces:
Sleeping
Sleeping
| from sqlalchemy import ForeignKey, Text | |
| from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship | |
| class Base(DeclarativeBase): | |
| pass | |
| class Project(Base): | |
| __tablename__ = "projects" | |
| id: Mapped[int] = mapped_column(primary_key=True) | |
| name: Mapped[str] = mapped_column() | |
| drug_name: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| structure_input: Mapped[str] = mapped_column(Text) | |
| structure_format: Mapped[str] = mapped_column() | |
| target_name: Mapped[str] = mapped_column() | |
| indication: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| mechanism: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| patent_text: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| jobs: Mapped[list["Job"]] = relationship(back_populates="project") | |
| class Job(Base): | |
| __tablename__ = "jobs" | |
| id: Mapped[int] = mapped_column(primary_key=True) | |
| project_id: Mapped[int] = mapped_column(ForeignKey("projects.id")) | |
| status: Mapped[str] = mapped_column(default="created") | |
| error: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| artifact_json: Mapped[str | None] = mapped_column(Text, nullable=True) | |
| project: Mapped[Project] = relationship(back_populates="jobs") | |