From b5f28506444443ce6ea257a3e43883c777a9ef3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D1=82=D1=8B=D0=BD=D0=BE=D0=B2=20=D0=9C?= =?UTF-8?q?=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=A1=D0=B5=D1=80=D0=B3=D0=B5?= =?UTF-8?q?=D0=B5=D0=B2=D0=B8=D1=87?= Date: Fri, 5 Jul 2024 14:38:58 +0300 Subject: [PATCH] [DOP-16661] Schema digest must be unique --- .../versions/2024-06-27_81153f43e276_create_schema.py | 2 +- data_rentgen/db/models/schema.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/data_rentgen/db/migrations/versions/2024-06-27_81153f43e276_create_schema.py b/data_rentgen/db/migrations/versions/2024-06-27_81153f43e276_create_schema.py index 0d89a27d..f397bf08 100644 --- a/data_rentgen/db/migrations/versions/2024-06-27_81153f43e276_create_schema.py +++ b/data_rentgen/db/migrations/versions/2024-06-27_81153f43e276_create_schema.py @@ -26,7 +26,7 @@ def upgrade() -> None: sa.Column("fields", sa.JSON(), nullable=False), sa.PrimaryKeyConstraint("id", name=op.f("pk__schema")), ) - op.create_index(op.f("ix__schema__digest"), "schema", ["digest"], unique=False) + op.create_index(op.f("ix__schema__digest"), "schema", ["digest"], unique=True) def downgrade() -> None: diff --git a/data_rentgen/db/models/schema.py b/data_rentgen/db/models/schema.py index 991b4a56..77e20af7 100644 --- a/data_rentgen/db/models/schema.py +++ b/data_rentgen/db/models/schema.py @@ -27,6 +27,7 @@ class Schema(Base): SQL_UUID, nullable=False, index=True, + unique=True, default=_get_digest, doc="Schema SHA-1 digest based on fields content. Currently this is in form of UUID", )