From 839fcbb411d141e8b92a5d780eda4fe9e5116a3b Mon Sep 17 00:00:00 2001 From: Wilfried BARADAT Date: Mon, 18 Nov 2024 18:44:44 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=83=EF=B8=8F(api)=20squash=20experienc?= =?UTF-8?q?e=20index=20migrations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed protected keyword 'format' in the initial migration - Added the missing check constraint on 'created_at' and 'updated_at' - Updated CheckConstraint on Experience table to be strictly positive --- .../77a0f0fbb8ab_fix_duration_constraint.py | 34 ------------------ .../86ec32885672_rename_format_experience.py | 29 --------------- .../94d0308156c1_fix_xi_time_constraint.py | 36 ------------------- ...a113f2ab4dc9_introduce_experience_index.py | 10 +++--- 4 files changed, 6 insertions(+), 103 deletions(-) delete mode 100644 src/api/core/warren/migrations/versions/77a0f0fbb8ab_fix_duration_constraint.py delete mode 100644 src/api/core/warren/migrations/versions/86ec32885672_rename_format_experience.py delete mode 100644 src/api/core/warren/migrations/versions/94d0308156c1_fix_xi_time_constraint.py diff --git a/src/api/core/warren/migrations/versions/77a0f0fbb8ab_fix_duration_constraint.py b/src/api/core/warren/migrations/versions/77a0f0fbb8ab_fix_duration_constraint.py deleted file mode 100644 index 7c504a9b..00000000 --- a/src/api/core/warren/migrations/versions/77a0f0fbb8ab_fix_duration_constraint.py +++ /dev/null @@ -1,34 +0,0 @@ -"""fix duration strictly positive constraint - -Revision ID: 77a0f0fbb8ab -Revises: 86ec32885672 -Create Date: 2023-12-07 14:41:56.720633 - -""" - -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa -import sqlmodel - - -# revision identifiers, used by Alembic. -revision: str = "77a0f0fbb8ab" -down_revision: Union[str, None] = "86ec32885672" -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.drop_constraint("positive-duration", "experience", type_="check") - op.create_check_constraint("positive-duration", "experience", "duration > 0") - # ### end Alembic commands ### - - -def downgrade() -> None: - # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint("positive-duration", "experience", type_="check") - op.create_check_constraint("positive-duration", "experience", "duration >= 0") - # ### end Alembic commands ### diff --git a/src/api/core/warren/migrations/versions/86ec32885672_rename_format_experience.py b/src/api/core/warren/migrations/versions/86ec32885672_rename_format_experience.py deleted file mode 100644 index 147a9321..00000000 --- a/src/api/core/warren/migrations/versions/86ec32885672_rename_format_experience.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Rename format Experience's attribute - -Revision ID: 86ec32885672 -Revises: 94d0308156c1 -Create Date: 2023-11-28 14:42:25.711744 - -""" - -from typing import Sequence, Union - -from alembic import op - -# revision identifiers, used by Alembic. -revision: str = "86ec32885672" -down_revision: Union[str, None] = "94d0308156c1" -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.alter_column("experience", "format", new_column_name="technical_datatypes") - # ### end Alembic commands ### - - -def downgrade() -> None: - # ### commands auto generated by Alembic - please adjust! ### - op.alter_column("experience", "technical_datatypes", new_column_name="format") - # ### end Alembic commands ### diff --git a/src/api/core/warren/migrations/versions/94d0308156c1_fix_xi_time_constraint.py b/src/api/core/warren/migrations/versions/94d0308156c1_fix_xi_time_constraint.py deleted file mode 100644 index 5e0f78a1..00000000 --- a/src/api/core/warren/migrations/versions/94d0308156c1_fix_xi_time_constraint.py +++ /dev/null @@ -1,36 +0,0 @@ -"""Fix xi time constraint - -Revision ID: 94d0308156c1 -Revises: a113f2ab4dc9 -Create Date: 2023-11-28 14:13:27.739680 - -""" - -from typing import Sequence, Union - -from alembic import op - - -# revision identifiers, used by Alembic. -revision: str = "94d0308156c1" -down_revision: Union[str, None] = "a113f2ab4dc9" -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_check_constraint( - "pre-creation-update", "relation", "created_at <= updated_at" - ) - op.create_check_constraint( - "pre-creation-update", "experience", "created_at <= updated_at" - ) - # ### end Alembic commands ### - - -def downgrade() -> None: - # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint("pre-creation-update", "relation", type_="check") - op.drop_constraint("pre-creation-update", "experience", type_="check") - # ### end Alembic commands ### diff --git a/src/api/core/warren/migrations/versions/a113f2ab4dc9_introduce_experience_index.py b/src/api/core/warren/migrations/versions/a113f2ab4dc9_introduce_experience_index.py index 51a360a7..ef565492 100644 --- a/src/api/core/warren/migrations/versions/a113f2ab4dc9_introduce_experience_index.py +++ b/src/api/core/warren/migrations/versions/a113f2ab4dc9_introduce_experience_index.py @@ -1,6 +1,6 @@ """introduce experience index -Revision ID: a113f2ab4dc9 +Revision ID: 77a0f0fbb8ab Revises: 05e3da68582b Create Date: 2023-11-09 10:33:53.610165 @@ -14,7 +14,7 @@ # revision identifiers, used by Alembic. -revision: str = "a113f2ab4dc9" +revision: str = "77a0f0fbb8ab" down_revision: Union[str, None] = "05e3da68582b" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None @@ -45,14 +45,15 @@ def upgrade() -> None: sa.Enum("ONE", "TWO", "THREE", "FOUR", name="aggregationlevel"), nullable=True, ), - sa.Column("format", sa.JSON(), nullable=True), + sa.Column("technical_datatypes", sa.JSON(), nullable=True), sa.Column("id", sqlmodel.sql.sqltypes.GUID(), nullable=False), sa.Column("iri", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column( "language", sqlmodel.sql.sqltypes.AutoString(length=100), nullable=False ), sa.Column("duration", sa.Integer(), nullable=True), - sa.CheckConstraint("duration >= 0", name="positive-duration"), + sa.CheckConstraint("created_at <= updated_at", name="pre-creation-update"), + sa.CheckConstraint("duration > 0", name="positive-duration"), sa.PrimaryKeyConstraint("id"), sa.UniqueConstraint("iri"), ) @@ -82,6 +83,7 @@ def upgrade() -> None: sa.Column("id", sqlmodel.sql.sqltypes.GUID(), nullable=False), sa.Column("source_id", sqlmodel.sql.sqltypes.GUID(), nullable=False), sa.Column("target_id", sqlmodel.sql.sqltypes.GUID(), nullable=False), + sa.CheckConstraint("created_at <= updated_at", name="pre-creation-update"), sa.CheckConstraint("source_id != target_id", name="no-self-referential"), sa.ForeignKeyConstraint( ["source_id"],