1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-05-10 12:58:21 +03:00
ifhub.club/install/convert.sql
Mzhelskiy Maxim a67986bec1 fix
2010-06-05 22:49:52 +00:00

184 lines
9.9 KiB
SQL

--
-- Структура таблицы `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` 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_blog` CHANGE `blog_avatar` `blog_avatar` VARCHAR( 250 );
ALTER TABLE `prefix_comment` ADD `target_parent_id` INT DEFAULT '0' NOT NULL AFTER `target_type` ;
ALTER TABLE `prefix_comment_online` ADD `target_parent_id` INT DEFAULT '0' NOT NULL AFTER `target_type` ;
ALTER TABLE `prefix_topic` CHANGE `topic_tags` `topic_tags` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
ALTER TABLE `prefix_comment` DROP INDEX `rating_date_id`;
ALTER TABLE `prefix_comment` DROP INDEX `topic_id`;
ALTER TABLE `prefix_comment` DROP INDEX `comment_delete`;
ALTER TABLE `prefix_comment` DROP INDEX `comment_date`;
ALTER TABLE `prefix_comment` ADD INDEX `type_date_rating` ( `target_type` , `comment_date` , `comment_rating` );
ALTER TABLE `prefix_comment` ADD INDEX `id_type` ( `target_id` , `target_type` );
ALTER TABLE `prefix_comment` ADD INDEX `type_delete_publish` ( `target_type` , `comment_delete` , `comment_publish` );
ALTER TABLE `prefix_comment` ADD INDEX `user_type` ( `user_id` , `target_type` );
ALTER TABLE `prefix_comment` ADD INDEX ( `target_parent_id` );
ALTER TABLE `prefix_comment` DROP INDEX `user_id`;
ALTER TABLE `prefix_comment_online` DROP INDEX `topic_id`;
ALTER TABLE `prefix_comment_online` ADD INDEX `id_type` ( `target_id` , `target_type` );
ALTER TABLE `prefix_comment_online` ADD INDEX `type_parent` ( `target_type` , `target_parent_id` );
ALTER TABLE `prefix_favourite` DROP INDEX `user_id`;
ALTER TABLE `prefix_favourite` ADD INDEX `id_type` ( `target_id` , `target_type` );
ALTER TABLE `prefix_friend` DROP INDEX `user_from`;
ALTER TABLE `prefix_notify_task` ADD INDEX ( `date_created` );
ALTER TABLE `prefix_comment_online` DROP INDEX `id_type` ,
ADD UNIQUE `id_type` ( `target_id` , `target_type` );
ALTER TABLE `prefix_talk` ADD INDEX ( `talk_title` );
ALTER TABLE `prefix_talk` ADD INDEX ( `talk_date` );
ALTER TABLE `prefix_talk` ADD INDEX ( `talk_date_last` );
ALTER TABLE `prefix_talk_user` DROP INDEX `talk_id`;
ALTER TABLE `prefix_talk_user` ADD INDEX ( `date_last` );
ALTER TABLE `prefix_talk_user` ADD INDEX ( `talk_user_active` );
ALTER TABLE `prefix_topic_read` DROP INDEX `topic_id`;
ALTER TABLE `prefix_topic_question_vote` DROP INDEX `topic_id`;
ALTER TABLE `prefix_topic` ADD INDEX ( `topic_text_hash` );
ALTER TABLE `prefix_session` ADD INDEX ( `session_date_last` );
ALTER TABLE `prefix_user` DROP INDEX `user_date_last`;
ALTER TABLE `prefix_topic_content` CHANGE `topic_text` `topic_text` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
ALTER TABLE `prefix_topic_content` CHANGE `topic_text_source` `topic_text_source` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
ALTER TABLE `prefix_page` ADD `page_main` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0',
ADD INDEX ( `page_main` );
ALTER TABLE `prefix_page` ADD `page_sort` INT NOT NULL ,
ADD INDEX ( `page_sort` );