mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +02:00
schema: Change character set to utf8mb4 (support for Emojis in Menus/Pages/News/Forum etc.)
This commit is contained in:
parent
3f6ff3a332
commit
27c44f1bdf
@ -27,7 +27,7 @@ if (version_compare(phpversion(), '8.1', '<')) die('PHP version 8.1 or higher is
|
|||||||
|
|
||||||
const MYAAC = true;
|
const MYAAC = true;
|
||||||
const MYAAC_VERSION = '1.0-RC.2';
|
const MYAAC_VERSION = '1.0-RC.2';
|
||||||
const DATABASE_VERSION = 40;
|
const DATABASE_VERSION = 41;
|
||||||
const TABLE_PREFIX = 'myaac_';
|
const TABLE_PREFIX = 'myaac_';
|
||||||
define('START_TIME', microtime(true));
|
define('START_TIME', microtime(true));
|
||||||
define('MYAAC_OS', stripos(PHP_OS, 'WIN') === 0 ? 'WINDOWS' : (strtoupper(PHP_OS) === 'DARWIN' ? 'MAC' : 'LINUX'));
|
define('MYAAC_OS', stripos(PHP_OS, 'WIN') === 0 ? 'WINDOWS' : (strtoupper(PHP_OS) === 'DARWIN' ? 'MAC' : 'LINUX'));
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SET @myaac_database_version = 40;
|
SET @myaac_database_version = 41;
|
||||||
|
|
||||||
CREATE TABLE `myaac_account_actions`
|
CREATE TABLE `myaac_account_actions`
|
||||||
(
|
(
|
||||||
@ -8,7 +8,7 @@ CREATE TABLE `myaac_account_actions`
|
|||||||
`date` INT(11) NOT NULL DEFAULT 0,
|
`date` INT(11) NOT NULL DEFAULT 0,
|
||||||
`action` VARCHAR(255) NOT NULL DEFAULT '',
|
`action` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
KEY (`account_id`)
|
KEY (`account_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_admin_menu`
|
CREATE TABLE `myaac_admin_menu`
|
||||||
(
|
(
|
||||||
@ -19,7 +19,7 @@ CREATE TABLE `myaac_admin_menu`
|
|||||||
`flags` INT(11) NOT NULL DEFAULT 0,
|
`flags` INT(11) NOT NULL DEFAULT 0,
|
||||||
`enabled` INT(1) NOT NULL DEFAULT 1,
|
`enabled` INT(1) NOT NULL DEFAULT 1,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_bugtracker`
|
CREATE TABLE `myaac_bugtracker`
|
||||||
(
|
(
|
||||||
@ -34,7 +34,7 @@ CREATE TABLE `myaac_bugtracker`
|
|||||||
`uid` INT(11) NOT NULL AUTO_INCREMENT,
|
`uid` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
`tag` INT(11) NOT NULL DEFAULT 0,
|
`tag` INT(11) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`uid`)
|
PRIMARY KEY (`uid`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_changelog`
|
CREATE TABLE `myaac_changelog`
|
||||||
(
|
(
|
||||||
@ -46,7 +46,7 @@ CREATE TABLE `myaac_changelog`
|
|||||||
`player_id` INT(11) NOT NULL DEFAULT 0,
|
`player_id` INT(11) NOT NULL DEFAULT 0,
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
INSERT INTO `myaac_changelog` (`id`, `type`, `where`, `date`, `body`, `hide`) VALUES (1, 3, 2, UNIX_TIMESTAMP(), 'MyAAC installed. (:', 0);
|
INSERT INTO `myaac_changelog` (`id`, `type`, `where`, `date`, `body`, `hide`) VALUES (1, 3, 2, UNIX_TIMESTAMP(), 'MyAAC installed. (:', 0);
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ CREATE TABLE `myaac_config`
|
|||||||
`value` VARCHAR(1000) NOT NULL,
|
`value` VARCHAR(1000) NOT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE (`name`)
|
UNIQUE (`name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
INSERT INTO `myaac_config` (`name`, `value`) VALUES ('database_version', @myaac_database_version);
|
INSERT INTO `myaac_config` (`name`, `value`) VALUES ('database_version', @myaac_database_version);
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ CREATE TABLE `myaac_faq`
|
|||||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_forum_boards`
|
CREATE TABLE `myaac_forum_boards`
|
||||||
(
|
(
|
||||||
@ -82,7 +82,7 @@ CREATE TABLE `myaac_forum_boards`
|
|||||||
`closed` TINYINT(1) NOT NULL DEFAULT 0,
|
`closed` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`, `closed`) VALUES (NULL, 'News', 'News commenting', 0, 1);
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`, `closed`) VALUES (NULL, 'News', 'News commenting', 0, 1);
|
||||||
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Trade', 'Trade offers.', 1);
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Trade', 'Trade offers.', 1);
|
||||||
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Quests', 'Quest making.', 2);
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Quests', 'Quest making.', 2);
|
||||||
@ -111,7 +111,7 @@ CREATE TABLE `myaac_forum`
|
|||||||
`closed` tinyint(1) NOT NULL DEFAULT '0',
|
`closed` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `section` (`section`)
|
KEY `section` (`section`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_menu`
|
CREATE TABLE `myaac_menu`
|
||||||
(
|
(
|
||||||
@ -125,7 +125,7 @@ CREATE TABLE `myaac_menu`
|
|||||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||||
`enabled` INT(1) NOT NULL DEFAULT 1,
|
`enabled` INT(1) NOT NULL DEFAULT 1,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_monsters` (
|
CREATE TABLE `myaac_monsters` (
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
@ -158,7 +158,7 @@ CREATE TABLE `myaac_monsters` (
|
|||||||
`loot` text NOT NULL,
|
`loot` text NOT NULL,
|
||||||
`summons` TEXT NOT NULL,
|
`summons` TEXT NOT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_news`
|
CREATE TABLE `myaac_news`
|
||||||
(
|
(
|
||||||
@ -176,7 +176,7 @@ CREATE TABLE `myaac_news`
|
|||||||
`article_image` VARCHAR(100) NOT NULL DEFAULT '',
|
`article_image` VARCHAR(100) NOT NULL DEFAULT '',
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_news_categories`
|
CREATE TABLE `myaac_news_categories`
|
||||||
(
|
(
|
||||||
@ -186,7 +186,7 @@ CREATE TABLE `myaac_news_categories`
|
|||||||
`icon_id` INT(2) NOT NULL DEFAULT 0,
|
`icon_id` INT(2) NOT NULL DEFAULT 0,
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 0);
|
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 0);
|
||||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 1);
|
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 1);
|
||||||
@ -202,7 +202,7 @@ CREATE TABLE `myaac_notepad`
|
|||||||
`content` TEXT NOT NULL,
|
`content` TEXT NOT NULL,
|
||||||
/*`public` TINYINT(1) NOT NULL DEFAULT 0*/
|
/*`public` TINYINT(1) NOT NULL DEFAULT 0*/
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_pages`
|
CREATE TABLE `myaac_pages`
|
||||||
(
|
(
|
||||||
@ -218,7 +218,7 @@ CREATE TABLE `myaac_pages`
|
|||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE (`name`)
|
UNIQUE (`name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_gallery`
|
CREATE TABLE `myaac_gallery`
|
||||||
(
|
(
|
||||||
@ -230,7 +230,7 @@ CREATE TABLE `myaac_gallery`
|
|||||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
INSERT INTO `myaac_gallery` (`id`, `ordering`, `comment`, `image`, `thumb`, `author`) VALUES (NULL, 1, 'Demon', 'images/gallery/demon.jpg', 'images/gallery/demon_thumb.gif', 'MyAAC');
|
INSERT INTO `myaac_gallery` (`id`, `ordering`, `comment`, `image`, `thumb`, `author`) VALUES (NULL, 1, 'Demon', 'images/gallery/demon.jpg', 'images/gallery/demon_thumb.gif', 'MyAAC');
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ CREATE TABLE `myaac_settings`
|
|||||||
`value` TEXT NOT NULL,
|
`value` TEXT NOT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `key` (`key`)
|
KEY `key` (`key`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_spells`
|
CREATE TABLE `myaac_spells`
|
||||||
(
|
(
|
||||||
@ -265,7 +265,7 @@ CREATE TABLE `myaac_spells`
|
|||||||
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
`hide` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE (`name`)
|
UNIQUE (`name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_visitors`
|
CREATE TABLE `myaac_visitors`
|
||||||
(
|
(
|
||||||
@ -274,7 +274,7 @@ CREATE TABLE `myaac_visitors`
|
|||||||
`page` VARCHAR(2048) NOT NULL,
|
`page` VARCHAR(2048) NOT NULL,
|
||||||
`user_agent` VARCHAR(255) NOT NULL DEFAULT '',
|
`user_agent` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
UNIQUE (`ip`)
|
UNIQUE (`ip`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
|
||||||
CREATE TABLE `myaac_weapons`
|
CREATE TABLE `myaac_weapons`
|
||||||
(
|
(
|
||||||
@ -283,4 +283,4 @@ CREATE TABLE `myaac_weapons`
|
|||||||
`maglevel` INT(11) NOT NULL DEFAULT 0,
|
`maglevel` INT(11) NOT NULL DEFAULT 0,
|
||||||
`vocations` VARCHAR(100) NOT NULL DEFAULT '',
|
`vocations` VARCHAR(100) NOT NULL DEFAULT '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4;
|
||||||
|
35
system/migrations/41.php
Normal file
35
system/migrations/41.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Change database tables character set to utf8mb4
|
||||||
|
* Previously it was utf8 (utf8mb3)
|
||||||
|
* utf8 will become utf8mb4 in future releases of mysql
|
||||||
|
*/
|
||||||
|
$tables = [
|
||||||
|
'account_actions', 'admin_menu',
|
||||||
|
'changelog', 'config',
|
||||||
|
'faq', 'forum_boards', 'forum',
|
||||||
|
'gallery',
|
||||||
|
'menu', 'monsters',
|
||||||
|
'news', 'news_categories', 'notepad',
|
||||||
|
'pages',
|
||||||
|
'settings', 'spells',
|
||||||
|
'visitors', 'weapons',
|
||||||
|
];
|
||||||
|
|
||||||
|
$up = function () use ($db, $tables)
|
||||||
|
{
|
||||||
|
foreach ($tables as $table) {
|
||||||
|
if ($db->hasTable(TABLE_PREFIX . $table)) {
|
||||||
|
$db->exec('ALTER TABLE ' . TABLE_PREFIX . $table . ' CONVERT TO CHARACTER SET utf8mb4');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$down = function () use ($db, $tables)
|
||||||
|
{
|
||||||
|
foreach ($tables as $table) {
|
||||||
|
if ($db->hasTable(TABLE_PREFIX . $table)) {
|
||||||
|
$db->exec('ALTER TABLE ' . TABLE_PREFIX . $table . ' CONVERT TO CHARACTER SET utf8');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user