schema changes needed for the caldav client bit

This commit is contained in:
redmatrix 2016-06-18 15:33:47 -07:00
parent 755dd67ec7
commit dbb0a0283f
4 changed files with 105 additions and 7 deletions

View File

@ -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 );
/**

View File

@ -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`),

View File

@ -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");

View File

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1177 );
define( 'UPDATE_VERSION' , 1178 );
/**
*
@ -2266,4 +2266,62 @@ function update_r1176() {
}
return UPDATE_SUCCESS;
}
}
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;
}