Skip to content

Commit 8ceee37

Browse files
committed
[DOP-26967] Make dataset_tags foreign keys ON DELETE CASCADE
1 parent fcbe7f7 commit 8ceee37

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-FileCopyrightText: 2024-2025 MTS PJSC
2+
# SPDX-License-Identifier: Apache-2.0
3+
"""Make dataset_tags foreign keys ON DELETE CASCADE
4+
5+
Revision ID: 5f52db7affd9
6+
Revises: 17481d3b2466
7+
Create Date: 2025-09-17 12:32:30.062717
8+
9+
"""
10+
11+
from alembic import op
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "5f52db7affd9"
15+
down_revision = "17481d3b2466"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade() -> None:
21+
op.drop_constraint(op.f("fk__dataset_tags__tag_value_id__tag_value"), "dataset_tags", type_="foreignkey")
22+
op.drop_constraint(op.f("fk__dataset_tags__dataset_id__dataset"), "dataset_tags", type_="foreignkey")
23+
op.create_foreign_key(
24+
op.f("fk__dataset_tags__tag_value_id__tag_value"),
25+
"dataset_tags",
26+
"tag_value",
27+
["tag_value_id"],
28+
["id"],
29+
ondelete="CASCADE",
30+
)
31+
op.create_foreign_key(
32+
op.f("fk__dataset_tags__dataset_id__dataset"),
33+
"dataset_tags",
34+
"dataset",
35+
["dataset_id"],
36+
["id"],
37+
ondelete="CASCADE",
38+
)
39+
40+
41+
def downgrade() -> None:
42+
op.drop_constraint(op.f("fk__dataset_tags__dataset_id__dataset"), "dataset_tags", type_="foreignkey")
43+
op.drop_constraint(op.f("fk__dataset_tags__tag_value_id__tag_value"), "dataset_tags", type_="foreignkey")
44+
op.create_foreign_key(
45+
op.f("fk__dataset_tags__dataset_id__dataset"),
46+
"dataset_tags",
47+
"dataset",
48+
["dataset_id"],
49+
["id"],
50+
)
51+
op.create_foreign_key(
52+
op.f("fk__dataset_tags__tag_value_id__tag_value"),
53+
"dataset_tags",
54+
"tag_value",
55+
["tag_value_id"],
56+
["id"],
57+
)

data_rentgen/db/models/dataset.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,6 @@ class Dataset(Base):
6565
dataset_tags_table: Table = Table(
6666
"dataset_tags",
6767
Base.metadata,
68-
Column("dataset_id", ForeignKey("dataset.id"), primary_key=True),
69-
Column("tag_value_id", ForeignKey("tag_value.id"), primary_key=True),
68+
Column("dataset_id", ForeignKey("dataset.id", ondelete="CASCADE"), primary_key=True),
69+
Column("tag_value_id", ForeignKey("tag_value.id", ondelete="CASCADE"), primary_key=True),
7070
)

0 commit comments

Comments
 (0)