add hierarchy to channels for collection support and other purposes

This commit is contained in:
zotlabs 2019-03-29 13:27:23 -07:00
parent d68bdd03ed
commit 5bcf392816
5 changed files with 38 additions and 1 deletions

32
Zotlabs/Update/_1231.php Normal file
View file

@ -0,0 +1,32 @@
<?php
namespace Zotlabs\Update;
class _1231 {
function run() {
q("START TRANSACTION");
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r1 = q("ALTER TABLE channel ADD channel_parent text NOT NULL DEFAULT '' ");
$r2 = q("create index \"channel_parent\" on channel (\"channel_parent\")");
$r = ($r1 && $r2);
}
else {
$r = q("ALTER TABLE `channel` ADD `channel_parent` char(191) NOT NULL DEFAULT '' ,
ADD INDEX `channel_parent` (`channel_parent`)");
}
if($r) {
q("COMMIT");
return UPDATE_SUCCESS;
}
q("ROLLBACK");
return UPDATE_FAILED;
}
}

View file

@ -35,7 +35,7 @@ require_once('include/items.php');
define ( 'STD_VERSION', '2.9' );
define ( 'ZOT_REVISION', '6.0' );
define ( 'DB_UPDATE_VERSION', 1230 );
define ( 'DB_UPDATE_VERSION', 1231 );
define ( 'PROJECT_BASE', __DIR__ );

View file

@ -2435,6 +2435,7 @@ function channel_store_lowlevel($arr) {
'channel_account_id' => ((array_key_exists('channel_account_id',$arr)) ? $arr['channel_account_id'] : '0'),
'channel_primary' => ((array_key_exists('channel_primary',$arr)) ? $arr['channel_primary'] : '0'),
'channel_name' => ((array_key_exists('channel_name',$arr)) ? $arr['channel_name'] : ''),
'channel_parent' => ((array_key_exists('channel_parent',$arr)) ? $arr['channel_parent'] : ''),
'channel_address' => ((array_key_exists('channel_address',$arr)) ? $arr['channel_address'] : ''),
'channel_guid' => ((array_key_exists('channel_guid',$arr)) ? $arr['channel_guid'] : ''),
'channel_guid_sig' => ((array_key_exists('channel_guid_sig',$arr)) ? $arr['channel_guid_sig'] : ''),

View file

@ -245,6 +245,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_account_id` int(10) unsigned NOT NULL DEFAULT 0 ,
`channel_primary` tinyint(1) unsigned NOT NULL DEFAULT 0 ,
`channel_name` char(191) NOT NULL DEFAULT '',
`channel_parent` char(191) NOT NULL DEFAULT '',
`channel_address` char(191) NOT NULL DEFAULT '',
`channel_guid` char(191) NOT NULL DEFAULT '',
`channel_guid_sig` text NOT NULL,
@ -280,6 +281,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_account_id` (`channel_account_id`),
KEY `channel_primary` (`channel_primary`),
KEY `channel_name` (`channel_name`),
KEY `channel_parent` (`channel_parent`),
KEY `channel_timezone` (`channel_timezone`),
KEY `channel_location` (`channel_location`),
KEY `channel_theme` (`channel_theme`),

View file

@ -239,6 +239,7 @@ CREATE TABLE "channel" (
"channel_account_id" bigint NOT NULL DEFAULT '0',
"channel_primary" numeric(1) NOT NULL DEFAULT '0',
"channel_name" text NOT NULL DEFAULT '',
"channel_parent" text NOT NULL DEFAULT '',
"channel_address" text NOT NULL DEFAULT '',
"channel_guid" text NOT NULL DEFAULT '',
"channel_guid_sig" text NOT NULL,
@ -275,6 +276,7 @@ CREATE TABLE "channel" (
create index "channel_account_id" on channel ("channel_account_id");
create index "channel_primary" on channel ("channel_primary");
create index "channel_name" on channel ("channel_name");
create index "channel_parent" on channel ("channel_parent");
create index "channel_timezone" on channel ("channel_timezone");
create index "channel_location" on channel ("channel_location");
create index "channel_theme" on channel ("channel_theme");