From 69cb2d8e9d7aa64feccc24688855c879650781eb Mon Sep 17 00:00:00 2001 From: Jean-Christian Denis Date: Wed, 19 Apr 2023 23:34:49 +0200 Subject: [PATCH] check if database table exists before drop it --- src/Cleaner/Tables.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Cleaner/Tables.php b/src/Cleaner/Tables.php index 99ff32e..b21b690 100644 --- a/src/Cleaner/Tables.php +++ b/src/Cleaner/Tables.php @@ -15,6 +15,7 @@ declare(strict_types=1); namespace Dotclear\Plugin\Uninstaller\Cleaner; use dbSchema; +use dbStruct; use dcCore; use Dotclear\Database\Statement\{ DeleteStatement, @@ -120,9 +121,12 @@ class Tables extends AbstractCleaner return true; } if ($action == 'delete') { - $sql = new DropStatement(); - $sql->from(dcCore::app()->prefix . $ns) - ->drop(); + $struct = new dbStruct(dcCore::app()->con, dcCore::app()->prefix); + if ($struct->tableExists($ns)) { + $sql = new DropStatement(); + $sql->from(dcCore::app()->prefix . $ns) + ->drop(); + } return true; }