schema change to support channel move (a completely different operation than channel clone)

This commit is contained in:
redmatrix 2016-02-24 16:59:50 -08:00
parent 2b95580cc0
commit 6300f47cdc
5 changed files with 23 additions and 4 deletions

View File

@ -50,7 +50,7 @@ define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
define ( 'STD_VERSION', '1.2.4' );
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1163 );
define ( 'DB_UPDATE_VERSION', 1164 );
/**

View File

@ -230,6 +230,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_w_like` int(10) unsigned NOT NULL DEFAULT '0',
`channel_removed` tinyint(1) NOT NULL DEFAULT '0',
`channel_system` tinyint(1) NOT NULL DEFAULT '0',
`channel_moved` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`channel_id`),
UNIQUE KEY `channel_address_unique` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
@ -268,7 +269,8 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_w_like` (`channel_w_like`),
KEY `channel_removed` (`channel_removed`),
KEY `channel_system` (`channel_system`),
KEY `channel_lastpost` (`channel_lastpost`)
KEY `channel_lastpost` (`channel_lastpost`),
KEY `channel_moved` (`channel_moved`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `chat` (

View File

@ -225,6 +225,7 @@ CREATE TABLE "channel" (
"channel_w_like" bigint NOT NULL DEFAULT '128',
"channel_removed" smallint NOT NULL DEFAULT '0',
"channel_system" smallint NOT NULL DEFAULT '0',
"channel_moved" text NOT NULL DEFAULT '',
PRIMARY KEY ("channel_id"),
UNIQUE ("channel_address")
);
@ -265,6 +266,7 @@ create index "channel_dirdate" on channel ("channel_dirdate");
create index "channel_lastpost" on channel ("channel_lastpost");
create index "channel_removed" on channel ("channel_removed");
create index "channel_system" on channel ("channel_system");
create index "channel_moved" on channel ("channel_moved");
CREATE TABLE "chat" (
"chat_id" serial NOT NULL,
"chat_room" bigint NOT NULL DEFAULT '0',

View File

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1163 );
define( 'UPDATE_VERSION' , 1164 );
/**
*
@ -2003,4 +2003,19 @@ function update_r1162() {
if($r1 && $r2)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}
function update_r1163() {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r1 = q("alter table channel add channel_moved text not null default '' ");
$r2 = q("create index \"channel_channel_moved\" on channel (\"channel_moved\") ");
}
else {
$r1 = q("alter table channel add channel_moved char(255) not null default '' ");
$r2 = q("alter table channel add index ( channel_moved ) ");
}
if($r1 && $r2)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}

View File

@ -4,7 +4,7 @@ I'm the web server at {{$sitename}};
The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
Please contact a project developer if you can not figure out how to
fix it on your own. My database might be invalid.
The error message is '{{$error}}'.