From 7672e60ecb54f6170cb2d904007caa4b94f57ab5 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 18 Jan 2013 09:40:48 +0100 Subject: [PATCH] Update SQL scripts to match Roundcube format for schema upgrades, update/add UPGRADING instructions --- plugins/calendar/README | 2 +- plugins/calendar/UPGRADING | 16 +++++++++++----- .../{sql/mysql.sql => SQL/mysql.initial.sql} | 2 ++ .../mysql/2012080600.sql} | 4 +--- .../drivers/database/SQL/mysql/2013011000.sql | 1 + .../postgresql.sql => SQL/postgres.initial.sql} | 2 ++ .../postgres/2012080600.sql} | 4 +--- .../database/SQL/postgres/2013011000.sql | 1 + .../{sql/sqlite.sql => SQL/sqlite.initial.sql} | 1 + .../drivers/database/SQL/sqlite/2013011000.sql | 1 + .../kolab/SQL/{mysql.sql => mysql.initial.sql} | 1 + .../2012080600.sql} | 4 ---- .../drivers/kolab/SQL/mysql/2013011000.sql | 1 + plugins/libkolab/README | 6 +----- .../SQL/{mysql.sql => mysql.initial.sql} | 2 ++ plugins/libkolab/SQL/mysql/2013011000.sql | 1 + plugins/libkolab/UPGRADING | 9 +++++++++ plugins/tasklist/UPGRADING | 17 +++++++++++++++++ .../SQL/{mysql.sql => mysql.initial.sql} | 2 ++ .../drivers/database/SQL/mysql/2013011000.sql | 1 + 20 files changed, 57 insertions(+), 21 deletions(-) rename plugins/calendar/drivers/database/{sql/mysql.sql => SQL/mysql.initial.sql} (97%) rename plugins/calendar/drivers/database/{sql/mysql.upgrade-0.7.sql => SQL/mysql/2012080600.sql} (61%) create mode 100644 plugins/calendar/drivers/database/SQL/mysql/2013011000.sql rename plugins/calendar/drivers/database/{sql/postgresql.sql => SQL/postgres.initial.sql} (97%) rename plugins/calendar/drivers/database/{sql/postgres.upgrade-0.7.sql => SQL/postgres/2012080600.sql} (50%) create mode 100644 plugins/calendar/drivers/database/SQL/postgres/2013011000.sql rename plugins/calendar/drivers/database/{sql/sqlite.sql => SQL/sqlite.initial.sql} (96%) create mode 100644 plugins/calendar/drivers/database/SQL/sqlite/2013011000.sql rename plugins/calendar/drivers/kolab/SQL/{mysql.sql => mysql.initial.sql} (92%) rename plugins/calendar/drivers/kolab/SQL/{mysql.upgrade-0.7.sql => mysql/2012080600.sql} (91%) create mode 100644 plugins/calendar/drivers/kolab/SQL/mysql/2013011000.sql rename plugins/libkolab/SQL/{mysql.sql => mysql.initial.sql} (89%) create mode 100644 plugins/libkolab/SQL/mysql/2013011000.sql create mode 100644 plugins/libkolab/UPGRADING create mode 100644 plugins/tasklist/UPGRADING rename plugins/tasklist/drivers/database/SQL/{mysql.sql => mysql.initial.sql} (95%) create mode 100644 plugins/tasklist/drivers/database/SQL/mysql/2013011000.sql diff --git a/plugins/calendar/README b/plugins/calendar/README index 7abf8e37..c10f3892 100644 --- a/plugins/calendar/README +++ b/plugins/calendar/README @@ -4,7 +4,7 @@ A calendar module for Roundcube This plugin currently supports a local database as well as a Kolab groupware server as backends for calendar and event storage. For both drivers, some initialization of the local database is necessary. To do so, execute the -SQL commands in drivers//SQL/.sql +SQL commands in drivers//SQL/.initial.sql The client-side calendar UI relies on the "fullcalendar" project by Adam Arshaw with extensions made for the use in Roundcube. All changes are published in diff --git a/plugins/calendar/UPGRADING b/plugins/calendar/UPGRADING index 3038233a..524c2ac0 100644 --- a/plugins/calendar/UPGRADING +++ b/plugins/calendar/UPGRADING @@ -1,11 +1,17 @@ UPGRADING instructions ====================== -From version 0.7 and 0.8 ------------------------- +To update database schema, depending on the driver you're using, +please run in Roundcube bin/ directory: -The schemas of the backend databases have changed. Depending on the driver -you're using, please execute all statements from divers//sql/.upgrade-0.7.sql -on your local database. +updatedb.sh --package=calendar- --version= \ + --dir=../plugins/calendar/drivers//SQL +[*] Replace with "database" or "kolab" (without quotes) +[*] Replace with Roundcube version e.g. 0.7.3 +[*] Roundcube should be upgraded before plugin upgrades +Example: + +updatedb.sh --package=calendar-kolab --version=0.8.0 \ + --dir=../plugins/calendar/drivers/kolab/SQL diff --git a/plugins/calendar/drivers/database/sql/mysql.sql b/plugins/calendar/drivers/database/SQL/mysql.initial.sql similarity index 97% rename from plugins/calendar/drivers/database/sql/mysql.sql rename to plugins/calendar/drivers/database/SQL/mysql.initial.sql index e39acf45..c8c3d7bf 100644 --- a/plugins/calendar/drivers/database/sql/mysql.sql +++ b/plugins/calendar/drivers/database/SQL/mysql.initial.sql @@ -78,3 +78,5 @@ CREATE TABLE `itipinvitations` ( CONSTRAINT `fk_itipinvitations_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; + +INSERT INTO system (name, value) VALUES ('calendar-database-version', '2013011000.sql'); diff --git a/plugins/calendar/drivers/database/sql/mysql.upgrade-0.7.sql b/plugins/calendar/drivers/database/SQL/mysql/2012080600.sql similarity index 61% rename from plugins/calendar/drivers/database/sql/mysql.upgrade-0.7.sql rename to plugins/calendar/drivers/database/SQL/mysql/2012080600.sql index 089b06d0..f38e1cfc 100644 --- a/plugins/calendar/drivers/database/sql/mysql.upgrade-0.7.sql +++ b/plugins/calendar/drivers/database/SQL/mysql/2012080600.sql @@ -1,5 +1,3 @@ -/** - * MySQL database updates since version 0.7/0.8 - **/ +-- MySQL database updates since version 0.7/0.8 ALTER TABLE `events` ADD `sequence` int(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `changed`; diff --git a/plugins/calendar/drivers/database/SQL/mysql/2013011000.sql b/plugins/calendar/drivers/database/SQL/mysql/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/mysql/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file diff --git a/plugins/calendar/drivers/database/sql/postgresql.sql b/plugins/calendar/drivers/database/SQL/postgres.initial.sql similarity index 97% rename from plugins/calendar/drivers/database/sql/postgresql.sql rename to plugins/calendar/drivers/database/SQL/postgres.initial.sql index 8b884381..e3ba4978 100644 --- a/plugins/calendar/drivers/database/sql/postgresql.sql +++ b/plugins/calendar/drivers/database/SQL/postgres.initial.sql @@ -102,3 +102,5 @@ CREATE TABLE itipinvitations ( ); CREATE INDEX itipinvitations_user_id_event_uid_idx ON itipinvitations (user_id, event_uid); + +INSERT INTO system (name, value) VALUES ('calendar-database-version', '2013011000.sql'); diff --git a/plugins/calendar/drivers/database/sql/postgres.upgrade-0.7.sql b/plugins/calendar/drivers/database/SQL/postgres/2012080600.sql similarity index 50% rename from plugins/calendar/drivers/database/sql/postgres.upgrade-0.7.sql rename to plugins/calendar/drivers/database/SQL/postgres/2012080600.sql index facb1950..9a273e60 100644 --- a/plugins/calendar/drivers/database/sql/postgres.upgrade-0.7.sql +++ b/plugins/calendar/drivers/database/SQL/postgres/2012080600.sql @@ -1,5 +1,3 @@ -/** - * Postgres database updates since version 0.7/0.8 - **/ +-- Postgres database updates since version 0.7/0.8 ALTER TABLE events ADD sequence integer NOT NULL DEFAULT 0; diff --git a/plugins/calendar/drivers/database/SQL/postgres/2013011000.sql b/plugins/calendar/drivers/database/SQL/postgres/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/postgres/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file diff --git a/plugins/calendar/drivers/database/sql/sqlite.sql b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql similarity index 96% rename from plugins/calendar/drivers/database/sql/sqlite.sql rename to plugins/calendar/drivers/database/SQL/sqlite.initial.sql index 1debe543..67ce8ad0 100644 --- a/plugins/calendar/drivers/database/sql/sqlite.sql +++ b/plugins/calendar/drivers/database/SQL/sqlite.initial.sql @@ -73,3 +73,4 @@ CREATE TABLE itipinvitations ( CREATE INDEX ix_itipinvitations_uid ON itipinvitations(user_id, event_uid); +INSERT INTO system (name, value) VALUES ('calendar-database-version', '2013011000.sql'); diff --git a/plugins/calendar/drivers/database/SQL/sqlite/2013011000.sql b/plugins/calendar/drivers/database/SQL/sqlite/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/calendar/drivers/database/SQL/sqlite/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file diff --git a/plugins/calendar/drivers/kolab/SQL/mysql.sql b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql similarity index 92% rename from plugins/calendar/drivers/kolab/SQL/mysql.sql rename to plugins/calendar/drivers/kolab/SQL/mysql.initial.sql index 7a93d0a8..9c904330 100644 --- a/plugins/calendar/drivers/kolab/SQL/mysql.sql +++ b/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql @@ -29,3 +29,4 @@ CREATE TABLE IF NOT EXISTS `itipinvitations` ( REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; +INSERT INTO system (name, value) VALUES ('calendar-kolab-version', '2013011000.sql'); diff --git a/plugins/calendar/drivers/kolab/SQL/mysql.upgrade-0.7.sql b/plugins/calendar/drivers/kolab/SQL/mysql/2012080600.sql similarity index 91% rename from plugins/calendar/drivers/kolab/SQL/mysql.upgrade-0.7.sql rename to plugins/calendar/drivers/kolab/SQL/mysql/2012080600.sql index da567b61..5c9f1aec 100644 --- a/plugins/calendar/drivers/kolab/SQL/mysql.upgrade-0.7.sql +++ b/plugins/calendar/drivers/kolab/SQL/mysql/2012080600.sql @@ -1,7 +1,3 @@ -/** - * Kolab backend SQL updates - **/ - DROP TABLE IF EXISTS `kolab_alarms`; CREATE TABLE `kolab_alarms` ( diff --git a/plugins/calendar/drivers/kolab/SQL/mysql/2013011000.sql b/plugins/calendar/drivers/kolab/SQL/mysql/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/calendar/drivers/kolab/SQL/mysql/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file diff --git a/plugins/libkolab/README b/plugins/libkolab/README index 76312204..2f948390 100644 --- a/plugins/libkolab/README +++ b/plugins/libkolab/README @@ -15,15 +15,11 @@ REQUIREMENTS * PEAR: HTTP/Request2 * PEAR: Net/URL2 -* Optional for old format support: - Horde Kolab_Format package and all of its dependencies - which are at least Horde_(Browser,DOM,NLS,String,Utils) - INSTALLATION ------------ To use local cache you need to create a dedicated table in Roundcube's database. -To do so, execute the SQL commands in SQL/.sql +To do so, execute the SQL commands in SQL/.initial.sql CONFIGURATION diff --git a/plugins/libkolab/SQL/mysql.sql b/plugins/libkolab/SQL/mysql.initial.sql similarity index 89% rename from plugins/libkolab/SQL/mysql.sql rename to plugins/libkolab/SQL/mysql.initial.sql index 244ab3d8..8603bc89 100644 --- a/plugins/libkolab/SQL/mysql.sql +++ b/plugins/libkolab/SQL/mysql.initial.sql @@ -23,3 +23,5 @@ CREATE TABLE `kolab_cache` ( `words` TEXT NOT NULL, PRIMARY KEY(`resource`,`type`,`msguid`) ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; + +INSERT INTO `system` (`name`, `value`) VALUES ('libkolab-version', '2013011000'); diff --git a/plugins/libkolab/SQL/mysql/2013011000.sql b/plugins/libkolab/SQL/mysql/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/libkolab/SQL/mysql/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file diff --git a/plugins/libkolab/UPGRADING b/plugins/libkolab/UPGRADING new file mode 100644 index 00000000..e7f04d84 --- /dev/null +++ b/plugins/libkolab/UPGRADING @@ -0,0 +1,9 @@ +UPGRADING instructions +====================== + +To update database schema please run in Roundcube bin/ directory: + +updatedb.sh --package=libkolab --version= --dir=../plugins/libkolab/SQL + +[*] Replace with Roundcube version e.g. 0.7.3 +[*] Roundcube should be upgraded before plugin upgrades diff --git a/plugins/tasklist/UPGRADING b/plugins/tasklist/UPGRADING new file mode 100644 index 00000000..41343fbc --- /dev/null +++ b/plugins/tasklist/UPGRADING @@ -0,0 +1,17 @@ +UPGRADING instructions +====================== + +To update database schema, depending on the driver you're using, +please run in Roundcube bin/ directory: + +updatedb.sh --package=tasklist- --version= \ + --dir=../plugins/tasklist/drivers//SQL + +[*] Replace with "database" or "kolab" (without quotes) +[*] Replace with Roundcube version e.g. 0.7.3 +[*] Roundcube should be upgraded before plugin upgrades + +Example: + +updatedb.sh --package=tasklist-database --version=0.9-beta \ + --dir=../plugins/tasklist/drivers/database/SQL diff --git a/plugins/tasklist/drivers/database/SQL/mysql.sql b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql similarity index 95% rename from plugins/tasklist/drivers/database/SQL/mysql.sql rename to plugins/tasklist/drivers/database/SQL/mysql.initial.sql index b6fd2ceb..5e71788c 100644 --- a/plugins/tasklist/drivers/database/SQL/mysql.sql +++ b/plugins/tasklist/drivers/database/SQL/mysql.initial.sql @@ -47,3 +47,5 @@ CREATE TABLE `tasks` ( CONSTRAINT `fk_tasks_tasklist_id` FOREIGN KEY (`tasklist_id`) REFERENCES `tasklists`(`tasklist_id`) ON DELETE CASCADE ON UPDATE CASCADE ) /*!40000 ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci */; + +INSERT INTO `system` (`name`, `value`) VALUES ('tasklist-database-version', '2013011000'); diff --git a/plugins/tasklist/drivers/database/SQL/mysql/2013011000.sql b/plugins/tasklist/drivers/database/SQL/mysql/2013011000.sql new file mode 100644 index 00000000..fe6741a0 --- /dev/null +++ b/plugins/tasklist/drivers/database/SQL/mysql/2013011000.sql @@ -0,0 +1 @@ +-- empty \ No newline at end of file