From 213bf1a4d1ad96675c9ce289caeca131efd8c3e5 Mon Sep 17 00:00:00 2001 From: ankurjuneja Date: Tue, 10 Mar 2026 15:59:44 -0700 Subject: [PATCH 1/2] Ensure FKs and indices in targetedms schema --- .../postgresql/targetedms-26.003-26.004.sql | 13 +++++++++++++ src/org/labkey/targetedms/TargetedMSModule.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 resources/schemas/dbscripts/postgresql/targetedms-26.003-26.004.sql diff --git a/resources/schemas/dbscripts/postgresql/targetedms-26.003-26.004.sql b/resources/schemas/dbscripts/postgresql/targetedms-26.003-26.004.sql new file mode 100644 index 000000000..b91cbf731 --- /dev/null +++ b/resources/schemas/dbscripts/postgresql/targetedms-26.003-26.004.sql @@ -0,0 +1,13 @@ +-- Adding missing foreign keys to core.Containers(EntityId) +ALTER TABLE targetedms.Runs ADD CONSTRAINT FK_Runs_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); +ALTER TABLE targetedms.QCAnnotation ADD CONSTRAINT FK_QCAnnotation_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); +ALTER TABLE targetedms.GuideSet ADD CONSTRAINT FK_GuideSet_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); +ALTER TABLE targetedms.AutoQCPing ADD CONSTRAINT FK_AutoQCPing_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); +ALTER TABLE targetedms.PrecursorChromInfo ADD CONSTRAINT FK_PrecursorChromInfo_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); +ALTER TABLE targetedms.SampleFileChromInfo ADD CONSTRAINT FK_SampleFileChromInfo_Container FOREIGN KEY (Container) REFERENCES core.Containers(EntityId); + +-- Adding missing indices on Container +CREATE INDEX IX_QCAnnotationType_Container ON targetedms.QCAnnotationType(Container); +CREATE INDEX IX_QCAnnotation_Container ON targetedms.QCAnnotation(Container); +CREATE INDEX IX_GuideSet_Container ON targetedms.GuideSet(Container); +CREATE INDEX IX_QCMetricConfiguration_Container ON targetedms.QCMetricConfiguration(Container); diff --git a/src/org/labkey/targetedms/TargetedMSModule.java b/src/org/labkey/targetedms/TargetedMSModule.java index 5a14f90d9..df82dd64e 100644 --- a/src/org/labkey/targetedms/TargetedMSModule.java +++ b/src/org/labkey/targetedms/TargetedMSModule.java @@ -231,7 +231,7 @@ public String getName() @Override public Double getSchemaVersion() { - return 26.002; + return 26.004; } @Override From 5f568a31724d4f8088c1f7c2e487c132a9ecd4fb Mon Sep 17 00:00:00 2001 From: ankurjuneja Date: Wed, 11 Mar 2026 15:49:51 -0700 Subject: [PATCH 2/2] delete samplefilechrominfo data before deleting container --- src/org/labkey/targetedms/TargetedMSListener.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org/labkey/targetedms/TargetedMSListener.java b/src/org/labkey/targetedms/TargetedMSListener.java index dadd3c03b..7bdc6e1e3 100644 --- a/src/org/labkey/targetedms/TargetedMSListener.java +++ b/src/org/labkey/targetedms/TargetedMSListener.java @@ -71,5 +71,6 @@ public void containerDeleted(Container c, User user) new SqlExecutor(TargetedMSManager.getSchema()).execute("DELETE FROM " + TargetedMSManager.getTableInfoMSInstrument() + " WHERE Container = ?", c); new SqlExecutor(TargetedMSManager.getSchema()).execute("DELETE FROM " + TargetedMSManager.getTableInfoPaymentMethod() + " WHERE Container = ?", c); new SqlExecutor(TargetedMSManager.getSchema()).execute("DELETE FROM " + TargetedMSManager.getTableInfoRateType() + " WHERE Container = ?", c); + new SqlExecutor(TargetedMSManager.getSchema()).execute("DELETE FROM " + TargetedMSManager.getTableInfoSampleFileChromInfo() + " WHERE Container = ?", c); } }