From 18d33c03905751ee04601c4273356830c94ecee2 Mon Sep 17 00:00:00 2001 From: jross Date: Tue, 13 Jan 2026 16:19:36 -0700 Subject: [PATCH] feat: alter SamplePtID column type to UUID in NMA_Chemistry_SampleInfo for FK integrity --- ...cd5d_add_nma_chemistry_lineage_relations.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/alembic/versions/95d8b982cd5d_add_nma_chemistry_lineage_relations.py b/alembic/versions/95d8b982cd5d_add_nma_chemistry_lineage_relations.py index c697231c..82dbe471 100644 --- a/alembic/versions/95d8b982cd5d_add_nma_chemistry_lineage_relations.py +++ b/alembic/versions/95d8b982cd5d_add_nma_chemistry_lineage_relations.py @@ -50,6 +50,24 @@ def upgrade() -> None: ondelete="CASCADE", ) + sample_pt_col = next( + ( + col + for col in inspector.get_columns("NMA_Chemistry_SampleInfo") + if col["name"] == "SamplePtID" + ), + None, + ) + if sample_pt_col is not None and not isinstance( + sample_pt_col["type"], postgresql.UUID + ): + op.alter_column( + "NMA_Chemistry_SampleInfo", + "SamplePtID", + type_=postgresql.UUID(as_uuid=True), + postgresql_using='"SamplePtID"::uuid', + ) + # Ensure SamplePtID is uniquely constrained for downstream FK usage. pk = inspector.get_pk_constraint("NMA_Chemistry_SampleInfo") pk_columns = pk.get("constrained_columns") or []