This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 3.0 in repository https://gitbox.apache.org/repos/asf/superset.git
commit 2d1f1e3d71adfebbdf4a6c09425f7279c60edcdf Author: John Bodley <[email protected]> AuthorDate: Mon Sep 18 05:49:51 2023 -0700 fix: Add explicit ON DELETE CASCADE for dashboard_roles (#25320) (cherry picked from commit d54e827bb9f8eab8a7734bf7bdb8a5fdb2ae0c79) --- ...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 0848126012..a88d361a0e 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", + ), )
