diff options
author | redmatrix <git@macgirvin.com> | 2016-06-18 15:33:47 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-06-18 15:33:47 -0700 |
commit | dbb0a0283f8398d02d2be92dab182ee5103b3651 (patch) | |
tree | 3bf6408b8c3dc50788a7f0c7436629a412dc1ce9 | |
parent | 755dd67ec7856b8926bfb78e6034ddff1834b032 (diff) | |
download | volse-hubzilla-dbb0a0283f8398d02d2be92dab182ee5103b3651.tar.gz volse-hubzilla-dbb0a0283f8398d02d2be92dab182ee5103b3651.tar.bz2 volse-hubzilla-dbb0a0283f8398d02d2be92dab182ee5103b3651.zip |
schema changes needed for the caldav client bit
-rwxr-xr-x | boot.php | 2 | ||||
-rw-r--r-- | install/schema_mysql.sql | 22 | ||||
-rw-r--r-- | install/schema_postgres.sql | 26 | ||||
-rw-r--r-- | install/update.php | 62 |
4 files changed, 105 insertions, 7 deletions
@@ -48,7 +48,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' ); define ( 'STD_VERSION', '1.9' ); define ( 'ZOT_REVISION', 1.1 ); -define ( 'DB_UPDATE_VERSION', 1177 ); +define ( 'DB_UPDATE_VERSION', 1178 ); /** diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index a536c3f9a..13fc54aba 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -199,6 +199,26 @@ CREATE TABLE IF NOT EXISTS `cache` ( PRIMARY KEY (`k`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS `cal` ( + `cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `cal_aid` int(10) unsigned NOT NULL DEFAULT '0', + `cal_uid` int(10) unsigned NOT NULL DEFAULT '0', + `cal_hash` varchar(255) NOT NULL DEFAULT '', + `cal_name` varchar(255) NOT NULL DEFAULT '', + `uri` varchar(255) NOT NULL DEFAULT '', + `logname` varchar(255) NOT NULL DEFAULT '', + `pass` varchar(255) NOT NULL DEFAULT '', + `ctag` varchar(255) NOT NULL DEFAULT '', + `synctoken` varchar(255) NOT NULL DEFAULT '', + `cal_types` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`cal_id`), + KEY `cal_aid` (`cal_aid`), + KEY `cal_uid` (`cal_uid`), + KEY `cal_hash` (`cal_hash`), + KEY `cal_name` (`cal_name`), + KEY `cal_types` (`cal_types`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + CREATE TABLE IF NOT EXISTS `channel` ( `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0', @@ -394,6 +414,7 @@ CREATE TABLE IF NOT EXISTS `event` ( `id` int(11) NOT NULL AUTO_INCREMENT, `aid` int(10) unsigned NOT NULL DEFAULT '0', `uid` int(11) NOT NULL DEFAULT '0', + `cal_id` int(11) unsigned NOT NULL DEFAULT '0', `event_xchan` char(255) NOT NULL DEFAULT '', `event_hash` char(255) NOT NULL DEFAULT '', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', @@ -420,6 +441,7 @@ CREATE TABLE IF NOT EXISTS `event` ( `event_vdata` text NOT NULL, PRIMARY KEY (`id`), KEY `uid` (`uid`), + KEY `cal_id` (`cal_id`), KEY `etype` (`etype`), KEY `dtstart` (`dtstart`), KEY `dtend` (`dtend`), diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index b637fea43..9473252e6 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -193,6 +193,26 @@ CREATE TABLE "cache" ( "updated" timestamp NOT NULL, PRIMARY KEY ("k") ); +CREATE TABLE "cal" ( + "cal_id" serial NOT NULL, + "cal_aid" bigint NOT NULL DEFAULT '0', + "cal_uid" bigint NOT NULL DEFAULT '0', + "cal_hash" text NOT NULL, + "cal_name" text NOT NULL, + "uri" text NOT NULL, + "logname" text NOT NULL, + "pass" text NOT NULL, + "ctag" text NOT NULL, + "synctoken" text NOT NULL, + "cal_types" text NOT NULL DEFAULT "0", + PRIMARY KEY ("cal_id") +); +create index "cal_hash_idx" on cal ("cal_hash"); +create index "cal_name_idx" on cal ("cal_name"); +create index "cal_types_idx" on cal ("cal_types"); +create index "cal_aid_idx" on cal ("cal_aid"); +create index "cal_uid_idx" on cal ("cal_uid"); + CREATE TABLE "channel" ( "channel_id" serial NOT NULL, "channel_account_id" bigint NOT NULL DEFAULT '0', @@ -380,14 +400,11 @@ create index "dreport_xchan" on dreport ("dreport_xchan"); create index "dreport_queue" on dreport ("dreport_queue"); create index "dreport_channel" on dreport ("dreport_channel"); - - - - CREATE TABLE "event" ( "id" serial NOT NULL, "aid" bigint NOT NULL DEFAULT '0', "uid" bigint NOT NULL, + "cal_id" bigint NOT NULL DEFAULT '0', "event_xchan" text NOT NULL DEFAULT '', "event_hash" text NOT NULL DEFAULT '', "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', @@ -415,6 +432,7 @@ CREATE TABLE "event" ( PRIMARY KEY ("id") ); create index "event_uid_idx" on event ("uid"); +create index "event_cal_idx" on event ("cal_id"); create index "event_etype_idx" on event ("etype"); create index "event_dtstart_idx" on event ("dtstart"); create index "event_dtend_idx" on event ("dtend"); diff --git a/install/update.php b/install/update.php index e47ebf07f..241de78e1 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1177 ); +define( 'UPDATE_VERSION' , 1178 ); /** * @@ -2266,4 +2266,62 @@ function update_r1176() { } return UPDATE_SUCCESS; -}
\ No newline at end of file +} + +function update_r1177() { + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("alter table event add cal_id bigint NOT NULL DEFAULT '0'"); + $r2 = q("create index \"event_cal_idx\" on event (\"cal_id\") "); + + $r3 = q("CREATE TABLE \"cal\" ( + \"cal_id\" serial NOT NULL, + \"cal_aid\" bigint NOT NULL DEFAULT '0', + \"cal_uid\" bigint NOT NULL DEFAULT '0', + \"cal_hash\" text NOT NULL, + \"cal_name\" text NOT NULL, + \"uri\" text NOT NULL, + \"logname\" text NOT NULL, + \"pass\" text NOT NULL, + \"ctag\" text NOT NULL, + \"synctoken\" text NOT NULL, + \"cal_types\" text NOT NULL, + PRIMARY KEY (\"cal_id\") "); + $r4 = q("create index \"cal_hash_idx\" on cal (\"cal_hash\") "); + $r5 = q("create index \"cal_name_idx\" on cal (\"cal_name\") "); + $r6 = q("create index \"cal_types_idx\" on cal (\"cal_types\") "); + $r7 = q("create index \"cal_aid_idx\" on cal (\"cal_aid\") "); + $r8 = q("create index \"cal_uid_idx\" on cal (\"cal_uid\") "); + $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8; + } + else { + $r1 = q("alter table event add cal_id int(10) unsigned NOT NULL DEFAULT '0', + add index ( cal_id ) "); + + $r2 = q("CREATE TABLE IF NOT EXISTS `cal` ( + `cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `cal_aid` int(10) unsigned NOT NULL DEFAULT '0', + `cal_uid` int(10) unsigned NOT NULL DEFAULT '0', + `cal_hash` varchar(255) NOT NULL DEFAULT '', + `cal_name` varchar(255) NOT NULL DEFAULT '', + `uri` varchar(255) NOT NULL DEFAULT '', + `logname` varchar(255) NOT NULL DEFAULT '', + `pass` varchar(255) NOT NULL DEFAULT '', + `ctag` varchar(255) NOT NULL DEFAULT '', + `synctoken` varchar(255) NOT NULL DEFAULT '', + `cal_types` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`cal_id`), + KEY `cal_aid` (`cal_aid`), + KEY `cal_uid` (`cal_uid`), + KEY `cal_hash` (`cal_hash`), + KEY `cal_name` (`cal_name`), + KEY `cal_types` (`cal_types`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); + + $r = $r1 && $r2; + } + + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} |