diff --git a/.github/workflows/test-and-publish.yml b/.github/workflows/test-and-publish.yml index c7e6e9e..11aa19c 100644 --- a/.github/workflows/test-and-publish.yml +++ b/.github/workflows/test-and-publish.yml @@ -4,7 +4,7 @@ on: push: env: - DATABASE_SCHEMA: 4.11.0 + DATABASE_SCHEMA: 4.12.0 permissions: contents: read diff --git a/HISTORY.rst b/HISTORY.rst index 1fc5378..41cb550 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -5,6 +5,11 @@ History Unreleased / main ------------------- +11.1.2 (2026-02-13) +------------------- + +* Update database schema to v4.12.0 + 11.1.1 (2026-01-13) ------------------- diff --git a/src/ispyb/sqlalchemy/_auto_db_schema.py b/src/ispyb/sqlalchemy/_auto_db_schema.py index 23f75d9..819031d 100644 --- a/src/ispyb/sqlalchemy/_auto_db_schema.py +++ b/src/ispyb/sqlalchemy/_auto_db_schema.py @@ -1,4 +1,4 @@ -__schema_version__ = "4.11.0" +__schema_version__ = "4.12.0" import datetime import decimal from typing import List, Optional @@ -7102,12 +7102,18 @@ class SSXDataCollection(Base): class AutoProcProgram(Base): __tablename__ = "AutoProcProgram" __table_args__ = ( + ForeignKeyConstraint( + ["parentAutoProcProgramId"], + ["AutoProcProgram.autoProcProgramId"], + name="AutoProcProgram_fk_parentAutoProcProgramId", + ), ForeignKeyConstraint( ["processingJobId"], ["ProcessingJob.processingJobId"], name="AutoProcProgram_FK2", ), Index("AutoProcProgram_FK2", "processingJobId"), + Index("AutoProcProgram_fk_parentAutoProcProgramId", "parentAutoProcProgramId"), ) autoProcProgramId: Mapped[int] = mapped_column( @@ -7139,7 +7145,18 @@ class AutoProcProgram(Base): ) processingJobId: Mapped[Optional[int]] = mapped_column(INTEGER(11)) processingPipelineId: Mapped[Optional[int]] = mapped_column(INTEGER(11)) + parentAutoProcProgramId: Mapped[Optional[int]] = mapped_column(INTEGER(10)) + AutoProcProgram: Mapped["AutoProcProgram"] = relationship( + "AutoProcProgram", + remote_side=[autoProcProgramId], + back_populates="AutoProcProgram_reverse", + ) + AutoProcProgram_reverse: Mapped[List["AutoProcProgram"]] = relationship( + "AutoProcProgram", + remote_side=[parentAutoProcProgramId], + back_populates="AutoProcProgram", + ) ProcessingJob: Mapped["ProcessingJob"] = relationship( "ProcessingJob", back_populates="AutoProcProgram" ) @@ -8286,6 +8303,29 @@ class ProcessedTomogram(Base): processingType: Mapped[Optional[str]] = mapped_column( String(255), comment="nature of the processed tomogram" ) + feature: Mapped[Optional[str]] = mapped_column( + Enum( + "Membrane", + "Microtubule", + "Ribosome", + "Tric", + "Actin", + "Cytoplasm", + "Cytoplasmic granule", + "Lipid droplet", + "Mitochondrial granule", + "Mitochondrion", + "Npc", + "Nuclear envelope", + "Nucleus", + "Prohibitin", + "Proteasome", + "Vault", + "Vimentin", + "Void", + ), + comment="Tomogram feature", + ) Tomogram: Mapped["Tomogram"] = relationship( "Tomogram", back_populates="ProcessedTomogram"