From ca00c1329ee019f261cfd5f506da1c3531d0adee Mon Sep 17 00:00:00 2001 From: Brian Brondel Date: Wed, 2 Oct 2024 12:59:48 -0700 Subject: [PATCH 1/2] Add foreign keys and unique constraint --- ...add_foreign_keys_and_unique_constraint_.py | 58 +++++++++++++++++ ...add_foreign_keys_and_unique_constraint_.py | 63 +++++++++++++++++++ ...add_foreign_keys_and_unique_constraint_.py | 63 +++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py create mode 100644 alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py create mode 100644 alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py diff --git a/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py b/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py new file mode 100644 index 00000000..2509ccea --- /dev/null +++ b/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py @@ -0,0 +1,58 @@ +"""Add foreign keys and unique constraint for exposure.exposure_id + +Revision ID: e9fd2cdb9c12 +Revises: 56077b746de8 +Create Date: 2024-09-25 21:37:20.956716+00:00 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "e9fd2cdb9c12" +down_revision: Union[str, None] = "56077b746de8" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_unique_constraint( + "un_ccdexposure_exposure_id_detector", "ccdexposure", ["exposure_id", "detector"], schema="cdb_latiss" + ) + op.create_foreign_key( + "fk_ccdexposure_exposure_id", + "ccdexposure", + "exposure", + ["exposure_id"], + ["exposure_id"], + source_schema="cdb_latiss", + referent_schema="cdb_latiss", + ) + op.create_foreign_key( + "fk_exposure_flexdata_obs_id", + "exposure_flexdata", + "exposure", + ["obs_id"], + ["exposure_id"], + source_schema="cdb_latiss", + referent_schema="cdb_latiss", + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint( + "fk_exposure_flexdata_obs_id", "exposure_flexdata", schema="cdb_latiss", type_="foreignkey" + ) + op.drop_constraint("fk_ccdexposure_exposure_id", "ccdexposure", schema="cdb_latiss", type_="foreignkey") + op.drop_constraint( + "un_ccdexposure_exposure_id_detector", "ccdexposure", schema="cdb_latiss", type_="unique" + ) + # ### end Alembic commands ### diff --git a/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py b/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py new file mode 100644 index 00000000..c6b553e7 --- /dev/null +++ b/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py @@ -0,0 +1,63 @@ +"""Add foreign keys and unique constraint for exposure.exposure_id + +Revision ID: 0490d793fc1a +Revises: 67319407b5fc +Create Date: 2024-09-25 21:37:22.445341+00:00 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "0490d793fc1a" +down_revision: Union[str, None] = "67319407b5fc" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_unique_constraint( + "un_ccdexposure_exposure_id_detector", + "ccdexposure", + ["exposure_id", "detector"], + schema="cdb_lsstcomcam", + ) + op.create_foreign_key( + "fk_ccdexposure_exposure_id", + "ccdexposure", + "exposure", + ["exposure_id"], + ["exposure_id"], + source_schema="cdb_lsstcomcam", + referent_schema="cdb_lsstcomcam", + ) + op.create_foreign_key( + "fk_exposure_flexdata_obs_id", + "exposure_flexdata", + "exposure", + ["obs_id"], + ["exposure_id"], + source_schema="cdb_lsstcomcam", + referent_schema="cdb_lsstcomcam", + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint( + "fk_exposure_flexdata_obs_id", "exposure_flexdata", schema="cdb_lsstcomcam", type_="foreignkey" + ) + op.drop_constraint( + "fk_ccdexposure_exposure_id", "ccdexposure", schema="cdb_lsstcomcam", type_="foreignkey" + ) + op.drop_constraint( + "un_ccdexposure_exposure_id_detector", "ccdexposure", schema="cdb_lsstcomcam", type_="unique" + ) + # ### end Alembic commands ### diff --git a/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py b/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py new file mode 100644 index 00000000..ab345366 --- /dev/null +++ b/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py @@ -0,0 +1,63 @@ +"""Add foreign keys and unique constraint for exposure.exposure_id + +Revision ID: cff7da7ec8ed +Revises: 02f64409522c +Create Date: 2024-09-25 21:37:23.993294+00:00 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = "cff7da7ec8ed" +down_revision: Union[str, None] = "02f64409522c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_unique_constraint( + "un_ccdexposure_exposure_id_detector", + "ccdexposure", + ["exposure_id", "detector"], + schema="cdb_lsstcomcamsim", + ) + op.create_foreign_key( + "fk_ccdexposure_exposure_id", + "ccdexposure", + "exposure", + ["exposure_id"], + ["exposure_id"], + source_schema="cdb_lsstcomcamsim", + referent_schema="cdb_lsstcomcamsim", + ) + op.create_foreign_key( + "fk_exposure_flexdata_obs_id", + "exposure_flexdata", + "exposure", + ["obs_id"], + ["exposure_id"], + source_schema="cdb_lsstcomcamsim", + referent_schema="cdb_lsstcomcamsim", + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint( + "fk_exposure_flexdata_obs_id", "exposure_flexdata", schema="cdb_lsstcomcamsim", type_="foreignkey" + ) + op.drop_constraint( + "fk_ccdexposure_exposure_id", "ccdexposure", schema="cdb_lsstcomcamsim", type_="foreignkey" + ) + op.drop_constraint( + "un_ccdexposure_exposure_id_detector", "ccdexposure", schema="cdb_lsstcomcamsim", type_="unique" + ) + # ### end Alembic commands ### From eedb020a3ad8067e4592d8a478d1d7db41b126d7 Mon Sep 17 00:00:00 2001 From: Brian Brondel Date: Wed, 2 Oct 2024 13:14:30 -0700 Subject: [PATCH 2/2] Lint --- .../e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py | 3 --- .../0490d793fc1a_add_foreign_keys_and_unique_constraint_.py | 3 --- .../cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py | 3 --- 3 files changed, 9 deletions(-) diff --git a/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py b/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py index 2509ccea..49b09d58 100644 --- a/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py +++ b/alembic/latiss/versions/e9fd2cdb9c12_add_foreign_keys_and_unique_constraint_.py @@ -9,9 +9,6 @@ from typing import Sequence, Union from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql -from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision: str = "e9fd2cdb9c12" diff --git a/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py b/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py index c6b553e7..e4f5e2cc 100644 --- a/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py +++ b/alembic/lsstcomcam/versions/0490d793fc1a_add_foreign_keys_and_unique_constraint_.py @@ -9,9 +9,6 @@ from typing import Sequence, Union from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql -from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision: str = "0490d793fc1a" diff --git a/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py b/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py index ab345366..600c3752 100644 --- a/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py +++ b/alembic/lsstcomcamsim/versions/cff7da7ec8ed_add_foreign_keys_and_unique_constraint_.py @@ -9,9 +9,6 @@ from typing import Sequence, Union from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql -from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision: str = "cff7da7ec8ed"