From c45534af3667986cb7b282111f2e683e94fa44c7 Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Tue, 12 Apr 2022 09:17:04 +0200 Subject: Adds update script to remove broken scheduled reports from db (#19062) * Adds update script to remove broken scheduled reports from db * Update core/Updates/4.10.0-b1.php Co-authored-by: Ben Burgess <88810029+bx80@users.noreply.github.com> Co-authored-by: Ben Burgess <88810029+bx80@users.noreply.github.com> --- core/Updates/4.10.0-b1.php | 61 ++++++++++++++++++++++++++++++++++++++++++++++ core/Version.php | 3 ++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 core/Updates/4.10.0-b1.php diff --git a/core/Updates/4.10.0-b1.php b/core/Updates/4.10.0-b1.php new file mode 100644 index 0000000000..df8d408041 --- /dev/null +++ b/core/Updates/4.10.0-b1.php @@ -0,0 +1,61 @@ +migration = $factory; + } + + /** + * @param Updater $updater + * + * @return Migration[] + */ + public function getMigrations(Updater $updater) + { + $table = Common::prefixTable('report'); + $invalidCount = Db::fetchOne( + "SELECT COUNT(*) FROM $table WHERE reports = ? OR parameters = ?", + ['Array', 'Array'] + ); + + if (0 === (int) $invalidCount) { + return []; + } + + return [ + $this->migration->db->sql("DELETE FROM " . $table . " WHERE reports = 'Array' OR parameters = 'Array'") + ]; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/core/Version.php b/core/Version.php index 2a6a8016e9..9b50b2eed2 100644 --- a/core/Version.php +++ b/core/Version.php @@ -1,4 +1,5 @@