From 75e3dafbc5f88cdee03aed740a284695497330fb Mon Sep 17 00:00:00 2001 From: Evert Pot Date: Fri, 19 Aug 2016 09:06:42 -0400 Subject: [PATCH] Providing an upgrade script for people suffering from #559 --- .../Controller/Install/VersionUpgrade.php | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Core/Frameworks/BaikalAdmin/Controller/Install/VersionUpgrade.php b/Core/Frameworks/BaikalAdmin/Controller/Install/VersionUpgrade.php index 96a7329f..f3f0c620 100644 --- a/Core/Frameworks/BaikalAdmin/Controller/Install/VersionUpgrade.php +++ b/Core/Frameworks/BaikalAdmin/Controller/Install/VersionUpgrade.php @@ -362,6 +362,36 @@ protected function upgrade($sVersionFrom, $sVersionTo) { } } + if (version_compare($sVersionFrom, '0.4.5', '<=')) { + + // Similar to upgrading from older than 0.4.5, there were still + // issues with a missing DEFAULT 1 for sthe synctoken field in the + // addressbook. + if (!defined("PROJECT_DB_MYSQL") || PROJECT_DB_MYSQL === false) { + + $pdo->exec('UPDATE addressbooks SET synctoken = 1 WHERE synctoken IS NULL'); + + $tmpTable = '_' . time(); + $pdo->exec('ALTER TABLE addressbooks RENAME TO addressbooks' . $tmpTable); + + $pdo->exec(' +CREATE TABLE addressbooks ( + id integer primary key asc NOT NULL, + principaluri text NOT NULL, + displayname text, + uri text NOT NULL, + description text, + synctoken integer DEFAULT 1 NOT NULL +); + '); + + $pdo->exec('INSERT INTO addressbooks SELECT id, principaluri, displayname, uri, description, synctoken FROM addressbooks' . $tmpTable); + $this->aSuccess[] = 'Updated addressbooks tables'; + + } + + } + $this->updateConfiguredVersion($sVersionTo); return true;