mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-05-20 17:58:24 +03:00
Модуль Install: конвертация базы данных версии 0.3.1 до версии 0.4
This commit is contained in:
parent
97fd920c90
commit
6b9ff1350b
135
install/convert.sql
Normal file
135
install/convert.sql
Normal file
|
@ -0,0 +1,135 @@
|
|||
--
|
||||
-- Структура таблицы `prefix_session`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `prefix_session` (
|
||||
`session_key` varchar(32) NOT NULL,
|
||||
`user_id` int(11) unsigned NOT NULL,
|
||||
`session_ip_create` varchar(15) NOT NULL,
|
||||
`session_ip_last` varchar(15) NOT NULL,
|
||||
`session_date_create` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`session_date_last` datetime NOT NULL,
|
||||
PRIMARY KEY (`session_key`),
|
||||
UNIQUE KEY `user_id` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Ограничения внешнего ключа сохраненных таблиц
|
||||
--
|
||||
|
||||
--
|
||||
-- Ограничения внешнего ключа таблицы `prefix_session`
|
||||
--
|
||||
ALTER TABLE `prefix_session`
|
||||
ADD CONSTRAINT `prefix_session_fk` FOREIGN KEY (`user_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `prefix_user` DROP `user_key` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_date_last` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_ip_last` ;
|
||||
|
||||
ALTER TABLE `prefix_friend` DROP FOREIGN KEY `prefix_frend_fk1`;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_frend_id` `user_friend_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_ibfk_1` FOREIGN KEY (`user_friend_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
ALTER TABLE `prefix_topic_comment` ADD `comment_publish` TINYINT( 1 ) DEFAULT '1' NOT NULL ;
|
||||
ALTER TABLE `prefix_topic_comment` DROP FOREIGN KEY `topic_comment_fk`;
|
||||
ALTER TABLE `prefix_topic_comment` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_topic_comment` ADD `target_type` ENUM( "topic", "talk" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_comment_online` DROP FOREIGN KEY `prefix_topic_comment_online_fk`;
|
||||
ALTER TABLE `prefix_topic_comment_online` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED DEFAULT NULL ;
|
||||
ALTER TABLE `prefix_topic_comment_online` ADD `target_type` ENUM( "topic", "talk" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_comment` RENAME `prefix_comment` ;
|
||||
ALTER TABLE `prefix_topic_comment_online` RENAME `prefix_comment_online` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_vote` RENAME `prefix_vote` ;
|
||||
ALTER TABLE `prefix_vote` DROP FOREIGN KEY `prefix_topic_vote_fk`;
|
||||
ALTER TABLE `prefix_vote` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_vote` ADD `target_type` ENUM( "topic", "blog", "user", "comment" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
ALTER TABLE `prefix_vote` CHANGE `vote_delta` `vote_direction` TINYINT( 2 ) DEFAULT '0';
|
||||
ALTER TABLE `prefix_vote` ADD `vote_value` FLOAT( 9, 3 ) DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_vote` ADD `vote_date` DATETIME NOT NULL ;
|
||||
ALTER TABLE `prefix_vote` DROP INDEX `topic_id_user_voter_id_uniq` ;
|
||||
ALTER TABLE `prefix_vote` DROP INDEX `topic_id` ;
|
||||
ALTER TABLE `prefix_vote` ADD PRIMARY KEY ( `target_id` , `target_type` , `user_voter_id` ) ;
|
||||
|
||||
|
||||
ALTER TABLE `prefix_talk` ADD `talk_count_comment` INT DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_talk_user` ADD `comment_id_last` INT DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_talk_user` ADD `comment_count_new` INT DEFAULT '0' NOT NULL ;
|
||||
--
|
||||
-- Переход на единую систему избранного
|
||||
--
|
||||
ALTER TABLE `prefix_favourite_topic` RENAME `prefix_favourite`;
|
||||
ALTER TABLE `prefix_favourite` DROP FOREIGN KEY `prefix_favourite_topic_fk1`;
|
||||
ALTER TABLE `prefix_favourite` DROP FOREIGN KEY `prefix_favourite_topic_fk`;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `topic_id`;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `topic_publish`;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `topic_publish` `target_publish` TINYINT( 1 ) DEFAULT '1';
|
||||
ALTER TABLE `prefix_favourite` ADD `target_type` ENUM( 'topic', 'comment' ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `user_id_topic_id`,
|
||||
ADD UNIQUE `user_id_target_id_type` ( `user_id` , `target_id` , `target_type` );
|
||||
ALTER TABLE `prefix_favourite` ADD INDEX `target_publish` ( `target_publish` );
|
||||
ALTER TABLE `prefix_favourite` ADD CONSTRAINT `prefix_favourite_target_fk` FOREIGN KEY (`user_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `target_type` `target_type` ENUM( 'topic', 'comment', 'talk' ) DEFAULT 'topic';
|
||||
|
||||
ALTER TABLE `prefix_talk_user` ADD `talk_user_active` TINYINT( 1 ) DEFAULT '1';
|
||||
|
||||
CREATE TABLE `prefix_talk_blacklist` (
|
||||
`user_id` INT UNSIGNED NOT NULL ,
|
||||
`user_target_id` INT UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD PRIMARY KEY ( `user_id` , `user_target_id` );
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD CONSTRAINT `prefix_talk_blacklist_fk_user` FOREIGN KEY ( `user_id` ) REFERENCES `prefix_user` ( `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD CONSTRAINT `prefix_talk_blacklist_fk_target` FOREIGN KEY ( `user_target_id` ) REFERENCES `prefix_user` ( `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE `prefix_friend`
|
||||
DROP FOREIGN KEY `prefix_frend_fk`,
|
||||
DROP FOREIGN KEY `prefix_friend_ibfk_1`;
|
||||
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_id`;
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_frend_id`;
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_id_fren_id`;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_id` `user_from` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_friend_id` `user_to` INT( 11 ) UNSIGNED DEFAULT NULL;
|
||||
ALTER TABLE `prefix_friend` ADD `status_from` INT( 4 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_friend` ADD `status_to` INT( 4 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_friend` ADD PRIMARY KEY ( `user_from` , `user_to` );
|
||||
ALTER TABLE `prefix_friend` ADD INDEX ( `user_from` );
|
||||
ALTER TABLE `prefix_friend` ADD INDEX ( `user_to` );
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_from_fk` FOREIGN KEY (`user_from`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_to_fk` FOREIGN KEY (`user_to`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
--
|
||||
-- Хранение заданий на отложенную отправку e-mail сообщений
|
||||
--
|
||||
CREATE TABLE `prefix_notify_task` (
|
||||
`notify_task_id` INT UNSIGNED AUTO_INCREMENT ,
|
||||
`user_login` VARCHAR( 30 ) ,
|
||||
`user_mail` VARCHAR( 50 ) ,
|
||||
`notify_subject` VARCHAR( 200 ) ,
|
||||
`notify_text` TEXT,
|
||||
`date_created` DATETIME,
|
||||
`notify_task_status` TINYINT( 2 ) UNSIGNED,
|
||||
PRIMARY KEY ( `notify_task_id` )
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
|
||||
|
||||
ALTER TABLE `prefix_blog_user`
|
||||
DROP `is_moderator`,
|
||||
DROP `is_administrator`;
|
||||
|
||||
ALTER TABLE `prefix_blog_user` ADD `user_role` INT( 3 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_blog_user` CHANGE `user_role` `user_role` INT( 3 ) DEFAULT '1';
|
||||
|
||||
ALTER TABLE `prefix_user` CHANGE `user_profile_avatar` `user_profile_avatar` VARCHAR( 250 );
|
||||
ALTER TABLE `prefix_user` DROP `user_profile_avatar_type`;
|
||||
ALTER TABLE `prefix_blog` CHANGE `blog_avatar` `blog_avatar` VARCHAR( 250 );
|
||||
ALTER TABLE `prefix_blog` DROP `blog_avatar_type`;
|
||||
|
||||
ALTER TABLE `prefix_user` ADD `user_date_topic_last` DATETIME AFTER `user_date_comment_last` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_date_topic_last`
|
|
@ -501,6 +501,7 @@ class Install {
|
|||
$aParams['user'] = $this->GetRequest('install_db_user','');
|
||||
$aParams['password'] = $this->GetRequest('install_db_password','');
|
||||
$aParams['create'] = $this->GetRequest('install_db_create',0);
|
||||
$aParams['convert'] = $this->GetRequest('install_db_convert',0);
|
||||
$aParams['prefix'] = $this->GetRequest('install_db_prefix','prefix_');
|
||||
$aParams['engine'] = $this->GetRequest('install_db_engine','InnoDB');
|
||||
|
||||
|
@ -510,6 +511,7 @@ class Install {
|
|||
$this->Assign('install_db_user', $aParams['user'], self::SET_VAR_IN_SESSION);
|
||||
$this->Assign('install_db_password', $aParams['password'], self::SET_VAR_IN_SESSION);
|
||||
$this->Assign('install_db_create_check', (($aParams['create'])?'checked="checked"':''), self::SET_VAR_IN_SESSION);
|
||||
$this->Assign('install_db_convert_check', (($aParams['convert'])?'checked="checked"':''), self::SET_VAR_IN_SESSION);
|
||||
$this->Assign('install_db_prefix', $aParams['prefix'], self::SET_VAR_IN_SESSION);
|
||||
$this->Assign('install_db_engine', $aParams['engine'], self::SET_VAR_IN_SESSION);
|
||||
/**
|
||||
|
@ -543,7 +545,6 @@ class Install {
|
|||
$this->SaveConfig('db.params.port', $aParams['port'], $sLocalConfigFile);
|
||||
$this->SaveConfig('db.params.user', $aParams['user'], $sLocalConfigFile);
|
||||
$this->SaveConfig('db.params.pass', $aParams['password'], $sLocalConfigFile);
|
||||
$this->SaveConfig('db.params.pass', $aParams['password'], $sLocalConfigFile);
|
||||
$this->SaveConfig('db.table.prefix', $aParams['prefix'], $sLocalConfigFile);
|
||||
$this->SaveConfig('db.tables.engine',$aParams['engine'], $sLocalConfigFile);
|
||||
/**
|
||||
|
@ -553,11 +554,23 @@ class Install {
|
|||
/**
|
||||
* Открываем .sql файл и добавляем в базу недостающие таблицы
|
||||
*/
|
||||
list($bResult,$aErrors) = array_values($this->CreateTables('sql.sql',$aParams));
|
||||
if(!$bResult) {
|
||||
foreach($aErrors as $sError) $this->aMessages[] = array('type'=>'error','text'=>$sError);
|
||||
$this->Layout('steps/db.tpl');
|
||||
return false;
|
||||
if(!$aParams['convert']) {
|
||||
list($bResult,$aErrors) = array_values($this->CreateTables('sql.sql',$aParams));
|
||||
if(!$bResult) {
|
||||
foreach($aErrors as $sError) $this->aMessages[] = array('type'=>'error','text'=>$sError);
|
||||
$this->Layout('steps/db.tpl');
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
/**
|
||||
* Если указана конвертация старой базы данных
|
||||
*/
|
||||
list($bResult,$aErrors) = array_values($this->ConvertDatabase('convert.sql',$aParams));
|
||||
if(!$bResult) {
|
||||
foreach($aErrors as $sError) $this->aMessages[] = array('type'=>'error','text'=>$sError);
|
||||
$this->Layout('steps/db.tpl');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Передаем управление на следующий шаг
|
||||
|
@ -978,6 +991,97 @@ class Install {
|
|||
}
|
||||
return array('result'=>false,'errors'=>$aErrors);
|
||||
}
|
||||
/**
|
||||
* Конвертирует базу данных версии 0.3.1 в базу данных версии 0.4
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function ConvertDatabase($sFilePath,$aParams) {
|
||||
$sFileQuery = @file_get_contents($sFilePath);
|
||||
if(!$sFileQuery) return array('result'=>false,'errors'=>array($this->Lang("config_file_not_exists", array('path'=>$sFilePath))));
|
||||
|
||||
if(isset($aParams['prefix'])) $sFileQuery = str_replace('prefix_', $aParams['prefix'], $sFileQuery);
|
||||
$aQuery=explode(';',$sFileQuery);
|
||||
/**
|
||||
* Массив для сбора ошибок
|
||||
*/
|
||||
$aErrors = array();
|
||||
|
||||
/**
|
||||
* Выполняем запросы по очереди
|
||||
*/
|
||||
foreach($aQuery as $sQuery){
|
||||
$sQuery = trim($sQuery);
|
||||
/**
|
||||
* Заменяем движек, если таковой указан в запросе
|
||||
*/
|
||||
if(isset($aParams['engine'])) $sQuery=str_ireplace('ENGINE=InnoDB', "ENGINE={$aParams['engine']}",$sQuery);
|
||||
|
||||
if($sQuery!='') {
|
||||
$bResult=mysql_query($sQuery);
|
||||
if(!$bResult) $aErrors[] = mysql_error();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Переводим в одну таблицу vote`ы
|
||||
*/
|
||||
$aVoteTables = array(
|
||||
$aParams['prefix'].'blog_vote'=>'blog',
|
||||
$aParams['prefix'].'user_vote'=>'user',
|
||||
$aParams['prefix'].'topic_comment_vote'=>'comment'
|
||||
);
|
||||
foreach ($aVoteTables as $sTable=>$sTarget) {
|
||||
$sVoteSelect = "SELECT * FROM {$sTable} WHERE 1";
|
||||
if(!$aResults = mysql_query($sVoteSelect)){
|
||||
$aErrors[] = $this->Lang('error_vote_table_select',array('table'=>$sTable));
|
||||
continue;
|
||||
}
|
||||
/**
|
||||
* Переносим в новую таблицу с указанием target`а
|
||||
*/
|
||||
while($aRow = mysql_fetch_array($aResults, MYSQL_ASSOC)) {
|
||||
$sQuery = "INSERT INTO `{$aParams['prefix']}vote`
|
||||
VALUES (
|
||||
'{$aRow[$sTarget.'_id']}',
|
||||
'{$sTarget}', '{$aRow['user_voter_id']}',
|
||||
'".(($aRow['vote_delta']>=0)?1:-1)."',
|
||||
'{$aRow['vote_delta']}',
|
||||
'".date("Y-m-d H:i:s")."')";
|
||||
if(!mysql_query($sQuery)) $aErrors[] = mysql_error();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Переводим в одну таблицу комментарии
|
||||
*/
|
||||
/**
|
||||
$sTalkCommentSelect = "SELECT * FROM {$aParams['prefix']}talk_comment";
|
||||
if(!$aResults = mysql_query($sTalkCommentSelect)){
|
||||
$aErrors[] = $this->Lang('error_comment_table_select');
|
||||
} else {
|
||||
while($aRow = mysql_fetch_array($aResults, MYSQL_ASSOC)) {
|
||||
$sQuery = "INSERT INTO `{$aParams['prefix']}comment`
|
||||
VALUES (
|
||||
'{$aRow['talk_comment_id']}',
|
||||
'{$aRow['talk_comment_pid']}',
|
||||
'{$aRow['talk_id']}',
|
||||
'talk',
|
||||
'{$aRow['user_id']}',
|
||||
'{$aRow['talk_comment_text']}',
|
||||
'".md5($aRow['talk_comment_text'])."',
|
||||
'{$aRow['talk_comment_date']}',
|
||||
'{$aRow['talk_comment_user_ip']}',
|
||||
'0', '0', '0', '1'
|
||||
)";
|
||||
if(!mysql_query($sQuery)) $aErrors[] = mysql_error();
|
||||
}
|
||||
}
|
||||
**/
|
||||
if(count($aErrors)==0) {
|
||||
return array('result'=>true,'errors'=>null);
|
||||
}
|
||||
return array('result'=>false,'errors'=>$aErrors);
|
||||
}
|
||||
/**
|
||||
* Валидирует данные администратора
|
||||
*
|
||||
|
|
|
@ -61,7 +61,7 @@ return array(
|
|||
'php_params_utf8'=>'Подержка UTF8 в PCRE',
|
||||
'php_params_mbstring'=>'Поддержка Mbstring',
|
||||
|
||||
'local_config'=>'Поддержка Mbstring',
|
||||
'local_config'=>'Локальная конфигурация',
|
||||
'local_config_file'=>'Файл config.local.php существует и доступен для записи',
|
||||
|
||||
'db_params'=>'Настройка базы данных',
|
||||
|
@ -70,6 +70,7 @@ return array(
|
|||
'db_params_port_notice'=>'Скорее всего правильным решение будет оставить 3306 :)',
|
||||
'db_params_name'=>'Название базы данных',
|
||||
'db_params_create'=>'Создать базу данных',
|
||||
'db_params_convert'=>'Конвертировать базу 0.3.1 в 0.4',
|
||||
'db_params_user'=>'Имя пользователя',
|
||||
'db_params_password'=>'Пароль',
|
||||
'db_params_prefix'=>'Префикс таблиц',
|
||||
|
@ -77,6 +78,9 @@ return array(
|
|||
'db_params_engine'=>'Tables engine',
|
||||
'db_params_engine_notice'=>'Рекомендуется использовать InnoDB',
|
||||
|
||||
'error_vote_table_select'=>'Ошибка запроса на выборку данных из таблицы %%table%%',
|
||||
'error_comment_table_select'=>'Ошибка запроса на выборку данных из таблицы talk_comment',
|
||||
|
||||
'admin_params'=>'Настройка данных администратора',
|
||||
'admin_params_login'=>'Логин',
|
||||
'admin_params_mail'=>'E-mail',
|
||||
|
|
149
install/sql.sql
149
install/sql.sql
|
@ -1,16 +1,6 @@
|
|||
-- phpMyAdmin SQL Dump
|
||||
-- version 2.6.1
|
||||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Хост: localhost
|
||||
-- Время создания: Май 10 2009 г., 11:18
|
||||
-- Версия сервера: 5.0.45
|
||||
-- Версия PHP: 5.2.4
|
||||
-- SQL-дамп базы данных ядра LiveStreet версии 0.4
|
||||
--
|
||||
-- БД: `ls_03`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Структура таблицы `prefix_blog`
|
||||
|
@ -827,4 +817,139 @@ ALTER TABLE `prefix_user_administrator`
|
|||
ALTER TABLE `prefix_user_vote`
|
||||
ADD CONSTRAINT `user_vote_fk` FOREIGN KEY (`user_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `user_vote_fk1` FOREIGN KEY (`user_voter_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
--
|
||||
-- Структура таблицы `prefix_session`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `prefix_session` (
|
||||
`session_key` varchar(32) NOT NULL,
|
||||
`user_id` int(11) unsigned NOT NULL,
|
||||
`session_ip_create` varchar(15) NOT NULL,
|
||||
`session_ip_last` varchar(15) NOT NULL,
|
||||
`session_date_create` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`session_date_last` datetime NOT NULL,
|
||||
PRIMARY KEY (`session_key`),
|
||||
UNIQUE KEY `user_id` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Ограничения внешнего ключа сохраненных таблиц
|
||||
--
|
||||
|
||||
--
|
||||
-- Ограничения внешнего ключа таблицы `prefix_session`
|
||||
--
|
||||
ALTER TABLE `prefix_session`
|
||||
ADD CONSTRAINT `prefix_session_fk` FOREIGN KEY (`user_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `prefix_user` DROP `user_key` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_date_last` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_ip_last` ;
|
||||
|
||||
ALTER TABLE `prefix_friend` DROP FOREIGN KEY `prefix_frend_fk1`;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_frend_id` `user_friend_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_ibfk_1` FOREIGN KEY (`user_friend_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
ALTER TABLE `prefix_topic_comment` ADD `comment_publish` TINYINT( 1 ) DEFAULT '1' NOT NULL ;
|
||||
ALTER TABLE `prefix_topic_comment` DROP FOREIGN KEY `topic_comment_fk`;
|
||||
ALTER TABLE `prefix_topic_comment` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_topic_comment` ADD `target_type` ENUM( "topic", "talk" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_comment_online` DROP FOREIGN KEY `prefix_topic_comment_online_fk`;
|
||||
ALTER TABLE `prefix_topic_comment_online` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED DEFAULT NULL ;
|
||||
ALTER TABLE `prefix_topic_comment_online` ADD `target_type` ENUM( "topic", "talk" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_comment` RENAME `prefix_comment` ;
|
||||
ALTER TABLE `prefix_topic_comment_online` RENAME `prefix_comment_online` ;
|
||||
|
||||
ALTER TABLE `prefix_topic_vote` RENAME `prefix_vote` ;
|
||||
ALTER TABLE `prefix_vote` DROP FOREIGN KEY `prefix_topic_vote_fk`;
|
||||
ALTER TABLE `prefix_vote` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_vote` ADD `target_type` ENUM( "topic", "blog", "user", "comment" ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
ALTER TABLE `prefix_vote` CHANGE `vote_delta` `vote_direction` TINYINT( 2 ) DEFAULT '0';
|
||||
ALTER TABLE `prefix_vote` ADD `vote_value` FLOAT( 9, 3 ) DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_vote` ADD `vote_date` DATETIME NOT NULL ;
|
||||
ALTER TABLE `prefix_vote` DROP INDEX `topic_id_user_voter_id_uniq` ;
|
||||
ALTER TABLE `prefix_vote` DROP INDEX `topic_id` ;
|
||||
ALTER TABLE `prefix_vote` ADD PRIMARY KEY ( `target_id` , `target_type` , `user_voter_id` ) ;
|
||||
|
||||
|
||||
ALTER TABLE `prefix_talk` ADD `talk_count_comment` INT DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_talk_user` ADD `comment_id_last` INT DEFAULT '0' NOT NULL ;
|
||||
ALTER TABLE `prefix_talk_user` ADD `comment_count_new` INT DEFAULT '0' NOT NULL ;
|
||||
--
|
||||
-- Переход на единую систему избранного
|
||||
--
|
||||
ALTER TABLE `prefix_favourite_topic` RENAME `prefix_favourite`;
|
||||
ALTER TABLE `prefix_favourite` DROP FOREIGN KEY `prefix_favourite_topic_fk1`;
|
||||
ALTER TABLE `prefix_favourite` DROP FOREIGN KEY `prefix_favourite_topic_fk`;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `topic_id`;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `topic_publish`;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `topic_id` `target_id` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `topic_publish` `target_publish` TINYINT( 1 ) DEFAULT '1';
|
||||
ALTER TABLE `prefix_favourite` ADD `target_type` ENUM( 'topic', 'comment' ) DEFAULT 'topic' NOT NULL AFTER `target_id` ;
|
||||
ALTER TABLE `prefix_favourite` DROP INDEX `user_id_topic_id`,
|
||||
ADD UNIQUE `user_id_target_id_type` ( `user_id` , `target_id` , `target_type` );
|
||||
ALTER TABLE `prefix_favourite` ADD INDEX `target_publish` ( `target_publish` );
|
||||
ALTER TABLE `prefix_favourite` ADD CONSTRAINT `prefix_favourite_target_fk` FOREIGN KEY (`user_id`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_favourite` CHANGE `target_type` `target_type` ENUM( 'topic', 'comment', 'talk' ) DEFAULT 'topic';
|
||||
|
||||
ALTER TABLE `prefix_talk_user` ADD `talk_user_active` TINYINT( 1 ) DEFAULT '1';
|
||||
|
||||
CREATE TABLE `prefix_talk_blacklist` (
|
||||
`user_id` INT UNSIGNED NOT NULL ,
|
||||
`user_target_id` INT UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD PRIMARY KEY ( `user_id` , `user_target_id` );
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD CONSTRAINT `prefix_talk_blacklist_fk_user` FOREIGN KEY ( `user_id` ) REFERENCES `prefix_user` ( `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_talk_blacklist` ADD CONSTRAINT `prefix_talk_blacklist_fk_target` FOREIGN KEY ( `user_target_id` ) REFERENCES `prefix_user` ( `user_id` ) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE `prefix_friend`
|
||||
DROP FOREIGN KEY `prefix_frend_fk`,
|
||||
DROP FOREIGN KEY `prefix_friend_ibfk_1`;
|
||||
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_id`;
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_frend_id`;
|
||||
ALTER TABLE `prefix_friend` DROP INDEX `user_id_fren_id`;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_id` `user_from` INT( 11 ) UNSIGNED;
|
||||
ALTER TABLE `prefix_friend` CHANGE `user_friend_id` `user_to` INT( 11 ) UNSIGNED DEFAULT NULL;
|
||||
ALTER TABLE `prefix_friend` ADD `status_from` INT( 4 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_friend` ADD `status_to` INT( 4 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_friend` ADD PRIMARY KEY ( `user_from` , `user_to` );
|
||||
ALTER TABLE `prefix_friend` ADD INDEX ( `user_from` );
|
||||
ALTER TABLE `prefix_friend` ADD INDEX ( `user_to` );
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_from_fk` FOREIGN KEY (`user_from`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE `prefix_friend` ADD CONSTRAINT `prefix_friend_to_fk` FOREIGN KEY (`user_to`) REFERENCES `prefix_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
--
|
||||
-- Хранение заданий на отложенную отправку e-mail сообщений
|
||||
--
|
||||
CREATE TABLE `prefix_notify_task` (
|
||||
`notify_task_id` INT UNSIGNED AUTO_INCREMENT ,
|
||||
`user_login` VARCHAR( 30 ) ,
|
||||
`user_mail` VARCHAR( 50 ) ,
|
||||
`notify_subject` VARCHAR( 200 ) ,
|
||||
`notify_text` TEXT,
|
||||
`date_created` DATETIME,
|
||||
`notify_task_status` TINYINT( 2 ) UNSIGNED,
|
||||
PRIMARY KEY ( `notify_task_id` )
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
|
||||
|
||||
ALTER TABLE `prefix_blog_user`
|
||||
DROP `is_moderator`,
|
||||
DROP `is_administrator`;
|
||||
|
||||
ALTER TABLE `prefix_blog_user` ADD `user_role` INT( 3 ) NOT NULL ;
|
||||
ALTER TABLE `prefix_blog_user` CHANGE `user_role` `user_role` INT( 3 ) DEFAULT '1';
|
||||
|
||||
ALTER TABLE `prefix_user` CHANGE `user_profile_avatar` `user_profile_avatar` VARCHAR( 250 );
|
||||
ALTER TABLE `prefix_user` DROP `user_profile_avatar_type`;
|
||||
ALTER TABLE `prefix_blog` CHANGE `blog_avatar` `blog_avatar` VARCHAR( 250 );
|
||||
ALTER TABLE `prefix_blog` DROP `blog_avatar_type`;
|
||||
|
||||
ALTER TABLE `prefix_user` ADD `user_date_topic_last` DATETIME AFTER `user_date_comment_last` ;
|
||||
ALTER TABLE `prefix_user` DROP `user_date_topic_last`;
|
|
@ -12,7 +12,8 @@
|
|||
|
||||
<label for="install_db_name">___LANG_DB_PARAMS_NAME___:</label><br />
|
||||
<p><input type="text" class="input-text" name="install_db_name" value="___INSTALL_DB_NAME___" id="install_db_name" />
|
||||
<input type="checkbox" class="checkbox" name="install_db_create" value="1" ___INSTALL_DB_CREATE_CHECK___ /> — ___LANG_DB_PARAMS_CREATE___
|
||||
<input type="checkbox" class="checkbox" name="install_db_create" value="1" ___INSTALL_DB_CREATE_CHECK___ /> — ___LANG_DB_PARAMS_CREATE___<br />
|
||||
<input type="checkbox" class="checkbox" name="install_db_convert" value="1" ___INSTALL_DB_CONVERT_CHECK___ /> — ___LANG_DB_PARAMS_CONVERT___
|
||||
</p>
|
||||
|
||||
<label for="install_db_user">___LANG_DB_PARAMS_USER___:</label><br />
|
||||
|
|
3
install/templates/steps/finish.tpl
Normal file
3
install/templates/steps/finish.tpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
<p>
|
||||
___LANG_FINISH_PARAGRAPH___
|
||||
</p>
|
Loading…
Reference in a new issue