· 6 years ago · May 30, 2019, 12:58 PM
1#DATABASE UPDATE: 1.16.0 -> 2.0.0
2
3INSERT INTO `catalog_pages`(`id`, `parent_id`, `caption_save`, `caption`, `icon_color`, `icon_image`, `visible`, `enabled`, `min_rank`, `club_only`, `order_num`, `page_layout`, `page_headline`, `page_teaser`, `page_special`, `page_text1`, `page_text2`, `page_text_details`, `page_text_teaser`, `vip_only`, `includes`, `room_id`) VALUES (null, -1, 'guilds_forum', 'Group Forums', 1, 27181, '1', '1', 1, '0', 2, 'guild_forum', 'catalog_groups_en', 'catalog_groupsteaser_en', '', 'Group Forums are here! Buy a terminal and chat to your groups!', '', 'Group Forums are here!', '', '0', '', 0);
4SET @page_id = LAST_INSERT_ID();
5UPDATE catalog_items SET page_id = @page_id WHERE catalog_name LIKE '%guild_forum%';
6UPDATE items_base SET `interaction_type` = 'guild_furni' WHERE item_name LIKE '%guild_forum%';
7INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.bot.butler.commanddistance', '5');
8ALTER TABLE `guilds_forums` RENAME TO `old_guilds_forums`;
9ALTER TABLE `guilds_forums_comments` RENAME TO `old_guilds_forums_comments`;
10DROP TABLE IF EXISTS `guilds_forums_comments`;
11CREATE TABLE `guilds_forums_comments` (
12 `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
13 `thread_id` int(11) NOT NULL DEFAULT 0,
14 `user_id` int(11) NOT NULL DEFAULT 0,
15 `message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
16 `created_at` int(11) NOT NULL DEFAULT 0,
17 `state` int(11) NOT NULL DEFAULT 0,
18 `admin_id` int(11) NOT NULL DEFAULT 0,
19 PRIMARY KEY (`id`) USING BTREE
20) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact;
21
22CREATE TABLE `guilds_forums_threads` (
23 `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
24 `guild_id` int(11) NULL DEFAULT 0,
25 `opener_id` int(11) NULL DEFAULT 0,
26 `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '',
27 `posts_count` int(11) NULL DEFAULT 0,
28 `created_at` int(11) NULL DEFAULT 0,
29 `updated_at` int(11) NULL DEFAULT 0,
30 `state` int(11) NULL DEFAULT 0,
31 `pinned` tinyint(4) NULL DEFAULT 0,
32 `locked` tinyint(4) NULL DEFAULT 0,
33 `admin_id` int(11) NULL DEFAULT 0,
34 PRIMARY KEY (`id`) USING BTREE
35) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact;
36
37
38DROP PROCEDURE IF EXISTS MIGRATION_FORUMS;
39DELIMITER ;;
40
41CREATE PROCEDURE MIGRATION_FORUMS()
42BEGIN
43 DECLARE n INT DEFAULT 0;
44 DECLARE i INT DEFAULT 0;
45 SELECT COUNT(*) FROM `old_guilds_forums` INTO n;
46 SET i=0;
47 WHILE i<n DO
48 SET @old_id = (SELECT id FROM `old_guilds_forums` LIMIT i,1);
49 INSERT INTO `guilds_forums_threads` (`guild_id`, `opener_id`, `subject`, `posts_count`, `created_at`, `updated_at`, `state`, `pinned`, `locked`, `admin_id`)
50 SELECT `guild_id`, `user_id`, `subject`, 0 AS `posts_count`, `timestamp`, `timestamp`, IF(STRCMP(`state`,'OPEN')=0, 0, IF(STRCMP(`state`,'HIDDEN_BY_ADMIN')=0, 10, IF(STRCMP(`state`,'HIDDEN_BY_STAFF')=0, 20, 1))) AS `state`, IF(STRCMP(`pinned`,'1')=0, 1, 0), IF(STRCMP(`locked`,'1')=0, 1, 0), `admin_id` FROM `old_guilds_forums`
51 LIMIT i,1;
52
53 SET @new_id = LAST_INSERT_ID();
54 INSERT INTO `guilds_forums_comments` (`thread_id`, `user_id`, `message`, `created_at`, `state`, `admin_id`)
55 SELECT @new_id AS `thread_id`, `user_id`, `message`, `timestamp`, IF(STRCMP(`state`,'OPEN')=0, 0, IF(STRCMP(`state`,'HIDDEN_BY_ADMIN')=0, 10, IF(STRCMP(`state`,'HIDDEN_BY_STAFF')=0, 20, 1))) AS `state`, `admin_id` FROM `old_guilds_forums_comments`
56 WHERE thread_id = @old_id;
57
58 SET i = i + 1;
59 END WHILE;
60END;
61;;
62
63DELIMITER ;
64
65CALL MIGRATION_FORUMS();
66DROP PROCEDURE IF EXISTS MIGRATION_FORUMS;
67
68UPDATE `users_pets` LEFT JOIN `rooms` ON `users_pets`.`room_id` = `rooms`.`id` SET `users_pets`.`room_id` = 0 WHERE `users_pets`.`room_id` != 0 AND `rooms`.`id` IS NULL;
69
70ALTER TABLE `users_settings` ADD COLUMN `forums_post_count` int(11) NULL DEFAULT 0 AFTER `perk_trade`;
71
72INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('catalog.guild.hc_required', '1');
73INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('catalog.ltd.random', '1');
74UPDATE `emulator_settings` SET `value` = '0' WHERE `key` = 'hotel.banzai.points.tile.steal';
75UPDATE `emulator_settings` SET `value` = '0' WHERE `key` = 'hotel.banzai.points.tile.fill';
76UPDATE `emulator_settings` SET `value` = '1' WHERE `key` = 'hotel.banzai.points.tile.lock';
77
78INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('commands.plugins.oldstyle', '0');
79
80ALTER TABLE `emulator_errors`
81ADD COLUMN `version` varchar(64) NOT NULL AFTER `timestamp`,
82ADD COLUMN `build_hash` varchar(64) NOT NULL AFTER `version`;
83
84INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('scripter.modtool.tickets', '1');
85
86ALTER TABLE `items_crackable`
87ADD COLUMN `subscription_duration` int(3) NULL AFTER `required_effect`,
88ADD COLUMN `subscription_type` varchar(255) NULL COMMENT 'hc for Habbo Club, bc for Builders Club' AFTER `subscription_duration`;
89
90INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('invisible.prevent.chat', '0');
91INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('invisible.prevent.chat.error', 'While being invisible you cannot talk.');
92
93INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('commands.succes.cmd_invisible.updated.back', 'You are now visible again.');
94
95INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('commands.error.cmd_mimic.forbidden_clothing', 'The other user has clothing that you do not own yet.');
96ALTER TABLE `permissions`
97ADD COLUMN `acc_mimic_unredeemed` enum('0','1') NOT NULL DEFAULT '0';
98
99INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('discount.max.allowed.items', '100');
100INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('discount.batch.size', '6');
101INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('discount.batch.free.items', '1');
102INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('discount.bonus.min.discounts', '1');
103INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('discount.additional.thresholds', '40;99');
104
105#END DATABASE UPDATE: 1.16.0 -> 2.0.0