From 01c9193454ffa594cb471767007bad4a97470391 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Tue, 28 Aug 2018 11:08:12 -0700 Subject: [PATCH] Prevent deleting databases that have attached tables (#5749) * Prevent deleting databases that have attached tables Similar to logic preventing deleting tables that have charts attached. * Addressing comments (cherry picked from commit 6cc52c614c5ace60e94e5d88d9f7a499e5d70cfe) --- superset/views/core.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/superset/views/core.py b/superset/views/core.py index eb63d4882ec8a..50db44055c636 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -258,6 +258,13 @@ def pre_add(self, db): def pre_update(self, db): self.pre_add(db) + def pre_delete(self, obj): + if obj.tables: + raise SupersetException(Markup( + 'Cannot delete a database that has tables attached. ' + "Here's the list of associated tables: " + + ', '.join('{}'.format(o) for o in obj.tables))) + def _delete(self, pk): DeleteMixin._delete(self, pk)