This is an automated email from the ASF dual-hosted git repository.
michaelsmolina pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new d54e827bb9 fix: Add explicit ON DELETE CASCADE for dashboard_roles
(#25320)
d54e827bb9 is described below
commit d54e827bb9f8eab8a7734bf7bdb8a5fdb2ae0c79
Author: John Bodley <[email protected]>
AuthorDate: Mon Sep 18 05:49:51 2023 -0700
fix: Add explicit ON DELETE CASCADE for dashboard_roles (#25320)
---
...6f3_add_on_delete_cascade_for_dashboard_slices.py | 2 +-
...d_on_delete_cascade_for_embedded_dashboards.py.py | 2 +-
...b91_add_on_delete_cascade_for_dashboard_roles.py} | 20 ++++++++++----------
superset/models/dashboard.py | 16 ++++++++++++++--
4 files changed, 26 insertions(+), 14 deletions(-)
diff --git
a/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
b/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
index caac489bd1..42e3507f7c 100644
---
a/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
+++
b/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-"""add on delete cascade for dashboard slices
+"""add on delete cascade for dashboard_slices
Revision ID: 8ace289026f3
Revises: 2e826adca42c
diff --git
a/superset/migrations/versions/2023-08-09_15-39_4448fa6deeb1__dd_on_delete_cascade_for_embedded_dashboards.py.py
b/superset/migrations/versions/2023-08-09_15-39_4448fa6deeb1__dd_on_delete_cascade_for_embedded_dashboards.py.py
index b50f637514..8d298863a6 100644
---
a/superset/migrations/versions/2023-08-09_15-39_4448fa6deeb1__dd_on_delete_cascade_for_embedded_dashboards.py.py
+++
b/superset/migrations/versions/2023-08-09_15-39_4448fa6deeb1__dd_on_delete_cascade_for_embedded_dashboards.py.py
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-"""add on delete cascade for embedded dashboards
+"""add on delete cascade for embedded_dashboards
Revision ID: 4448fa6deeb1
Revises: 8ace289026f3
diff --git
a/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
b/superset/migrations/versions/2023-09-15_12-58_4b85906e5b91_add_on_delete_cascade_for_dashboard_roles.py
similarity index 79%
copy from
superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
copy to
superset/migrations/versions/2023-09-15_12-58_4b85906e5b91_add_on_delete_cascade_for_dashboard_roles.py
index caac489bd1..b712aca682 100644
---
a/superset/migrations/versions/2023-08-09_14-17_8ace289026f3_add_on_delete_cascade_for_dashboard_slices.py
+++
b/superset/migrations/versions/2023-09-15_12-58_4b85906e5b91_add_on_delete_cascade_for_dashboard_roles.py
@@ -14,32 +14,32 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-"""add on delete cascade for dashboard slices
+"""add on delete cascade for dashboard_roles
-Revision ID: 8ace289026f3
-Revises: 2e826adca42c
-Create Date: 2023-08-09 14:17:53.326191
+Revision ID: 4b85906e5b91
+Revises: 317970b4400c
+Create Date: 2023-09-15 12:58:26.772759
"""
# revision identifiers, used by Alembic.
-revision = "8ace289026f3"
-down_revision = "2e826adca42c"
+revision = "4b85906e5b91"
+down_revision = "317970b4400c"
from superset.migrations.shared.constraints import ForeignKey, redefine
foreign_keys = [
ForeignKey(
- table="dashboard_slices",
+ table="dashboard_roles",
referent_table="dashboards",
local_cols=["dashboard_id"],
remote_cols=["id"],
),
ForeignKey(
- table="dashboard_slices",
- referent_table="slices",
- local_cols=["slice_id"],
+ table="dashboard_roles",
+ referent_table="ab_role",
+ local_cols=["role_id"],
remote_cols=["id"],
),
]
diff --git a/superset/models/dashboard.py b/superset/models/dashboard.py
index 15dd600c12..c4e6f45c52 100644
--- a/superset/models/dashboard.py
+++ b/superset/models/dashboard.py
@@ -127,8 +127,20 @@ DashboardRoles = Table(
"dashboard_roles",
metadata,
Column("id", Integer, primary_key=True),
- Column("dashboard_id", Integer, ForeignKey("dashboards.id"),
nullable=False),
- Column("role_id", Integer, ForeignKey("ab_role.id"), nullable=False),
+ Column(
+ "dashboard_id",
+ Integer,
+ ForeignKey("dashboards.id"),
+ nullable=False,
+ on_delete="CASCADE",
+ ),
+ Column(
+ "role_id",
+ Integer,
+ ForeignKey("ab_role.id"),
+ nullable=False,
+ on_delete="CASCADE",
+ ),
)