Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions server/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Revision history for NicToolServer
* Updates & Changes
* tinydns import: handle ascii and binary in AAAA rdata #163
* disable SPF records by default (flip DB flag to enable)
* support all UTF8 characters (requires MySQL 5.5+)
* change table encoding from utf8 (3 bits) to utf8mb4 (4 bits)

2.34 2017.03.13

Expand Down
10 changes: 5 additions & 5 deletions server/sql/01_nt_group.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ CREATE TABLE `nt_group` (
deleted tinyint(1) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`nt_group_id`),
KEY `nt_group_idx1` (`parent_group_id`),
KEY `nt_group_idx2` (`name`),
KEY `nt_group_idx2` (`name`(191)),
KEY `nt_group_idx3` (`deleted`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;


DROP TABLE IF EXISTS nt_group_log;
Expand All @@ -28,7 +28,7 @@ CREATE TABLE nt_group_log(
KEY `nt_group_log_idx1` (`nt_group_id`),
KEY `nt_group_log_idx2` (`timestamp`)
/* CONSTRAINT `nt_group_log_ibfk_1` FOREIGN KEY (`nt_group_id`) REFERENCES `nt_group` (`nt_group_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


DROP TABLE IF EXISTS nt_group_subgroups;
Expand All @@ -39,11 +39,11 @@ CREATE TABLE nt_group_subgroups(
KEY `nt_group_subgroups_idx1` (`nt_group_id`),
KEY `nt_group_subgroups_idx2` (`nt_subgroup_id`)
/* CONSTRAINT `nt_group_subgroups_ibfk_1` FOREIGN KEY (`nt_group_id`) REFERENCES `nt_group` (`nt_group_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

INSERT INTO `nt_group` (`nt_group_id`, `parent_group_id`, `name`)
VALUES
(1,0,'NicTool');
INSERT INTO nt_group_log(nt_group_id, nt_user_id, action, timestamp, modified_group_id, parent_group_id)
VALUES
(1, 1, 'added', UNIX_TIMESTAMP(), 1, 0);
(1, 1, 'added', UNIX_TIMESTAMP(), 1, 0);
32 changes: 16 additions & 16 deletions server/sql/02_nt_user.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ DROP TABLE IF EXISTS nt_user;
CREATE TABLE nt_user(
nt_user_id INT UNSIGNED AUTO_INCREMENT NOT NULL,
nt_group_id INT UNSIGNED NOT NULL,
first_name VARCHAR(30),
last_name VARCHAR(40),
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
first_name VARCHAR(120),
last_name VARCHAR(160),
username VARCHAR(200) NOT NULL,
password VARCHAR(1020) NOT NULL,
pass_salt VARCHAR(16),
email VARCHAR(100) NOT NULL,
email VARCHAR(400) NOT NULL,
is_admin TINYINT(1) UNSIGNED DEFAULT NULL,
deleted TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
PRIMARY KEY (`nt_user_id`),
KEY `nt_user_idx1` (`username`,`password`),
KEY `nt_user_idx1` (`username`(191),`password`(191)),
KEY `nt_user_idx2` (`deleted`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;


DROP TABLE IF EXISTS nt_user_log;
Expand All @@ -42,13 +42,13 @@ CREATE TABLE nt_user_log(
action ENUM('added','modified','deleted','moved') NOT NULL,
timestamp INT UNSIGNED NOT NULL,
modified_user_id INT UNSIGNED NOT NULL,
first_name VARCHAR(30),
last_name VARCHAR(40),
username VARCHAR(50),
password VARCHAR(255),
first_name VARCHAR(120),
last_name VARCHAR(160),
username VARCHAR(200),
password VARCHAR(1020),
pass_salt VARCHAR(16),
email VARCHAR(100)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
email VARCHAR(400)
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


DROP TABLE IF EXISTS nt_user_session;
Expand All @@ -60,7 +60,7 @@ CREATE TABLE nt_user_session(
PRIMARY KEY (`nt_user_session_id`),
KEY `nt_user_session_idx1` (`nt_user_id`,`nt_user_session`)
/* CONSTRAINT `nt_user_session_ibfk_1` FOREIGN KEY (`nt_user_id`) REFERENCES `nt_user` (`nt_user_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

DROP TABLE IF EXISTS nt_user_session_log;
CREATE TABLE nt_user_session_log(
Expand All @@ -73,7 +73,7 @@ CREATE TABLE nt_user_session_log(
PRIMARY KEY (`nt_user_session_log_id`),
KEY `nt_user_id` (`nt_user_id`)
/* CONSTRAINT `nt_user_session_log_ibfk_1` FOREIGN KEY (`nt_user_id`) REFERENCES `nt_user` (`nt_user_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;

DROP TABLE IF EXISTS nt_user_global_log;
CREATE TABLE nt_user_global_log(
Expand All @@ -92,4 +92,4 @@ CREATE TABLE nt_user_global_log(
PRIMARY KEY (`nt_user_global_log_id`),
KEY `nt_user_global_log_idx1` (`nt_user_id`)
/* CONSTRAINT `nt_user_global_log_ibfk_1` FOREIGN KEY (`nt_user_id`) REFERENCES `nt_user` (`nt_user_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;
8 changes: 4 additions & 4 deletions server/sql/04_nt_nameserver.sql
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ CREATE TABLE nt_nameserver(
KEY `nt_nameserver_idx2` (`deleted`),
KEY `nt_group_id` (`nt_group_id`)
/* CONSTRAINT `nt_nameserver_ibfk_1` FOREIGN KEY (`nt_group_id`) REFERENCES `nt_group` (`nt_group_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;


DROP TABLE IF EXISTS nt_nameserver_log;
Expand All @@ -47,7 +47,7 @@ CREATE TABLE nt_nameserver_log(
PRIMARY KEY (`nt_nameserver_log_id`),
KEY `nt_nameserver_log_idx1` (`nt_nameserver_id`),
KEY `nt_nameserver_log_idx2` (`timestamp`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


DROP TABLE IF EXISTS nt_nameserver_export_type;
Expand All @@ -57,7 +57,7 @@ CREATE TABLE `nt_nameserver_export_type` (
`descr` varchar(56) NOT NULL DEFAULT '',
`url` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
) DEFAULT CHARSET=utf8mb4;

INSERT INTO `nt_nameserver_export_type` (`id`, `name`, `descr`, `url`)
VALUES (1,'djbdns','djbdns (tinydns & axfrdns)','cr.yp.to/djbdns.html'),
Expand Down Expand Up @@ -94,4 +94,4 @@ CREATE TABLE nt_nameserver_export_log(
success tinyint(1) UNSIGNED NULL DEFAULT NULL,
partial tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
KEY `nt_nameserver_export_log_idx1` (`nt_nameserver_id`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;
2 changes: 1 addition & 1 deletion server/sql/06_resource_records.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ CREATE TABLE resource_record_type (
obsolete tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE `name` (`name`)
) DEFAULT CHARSET=utf8;
) DEFAULT CHARSET=utf8mb4;

INSERT INTO `resource_record_type` (`id`, `name`, `description`, `reverse`, `forward`, `obsolete`)
VALUES
Expand Down
9 changes: 5 additions & 4 deletions server/sql/08_nt_zone.sql
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ CREATE TABLE nt_zone(
expire INT UNSIGNED,
minimum INT UNSIGNED,
ttl INT UNSIGNED,
location VARCHAR(2) DEFAULT NULL,
location VARCHAR(8) DEFAULT NULL,
last_modified TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
last_publish TIMESTAMP DEFAULT 0,
deleted TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
PRIMARY KEY (`nt_zone_id`),
KEY `nt_zone_idx1` (`nt_group_id`),
KEY `nt_zone_idx2` (`deleted`),
KEY `nt_zone_idx3` (`zone`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


DROP TABLE IF EXISTS nt_zone_log;
Expand All @@ -57,6 +57,7 @@ CREATE TABLE nt_zone_log(
expire INT UNSIGNED,
minimum INT UNSIGNED,
ttl INT UNSIGNED,
location VARCHAR(8) DEFAULT NULL,
PRIMARY KEY (`nt_zone_log_id`),
KEY `nt_zone_log_idx1` (`timestamp`),
KEY `nt_zone_log_idx2` (`nt_zone_id`),
Expand All @@ -66,11 +67,11 @@ CREATE TABLE nt_zone_log(
/* CONSTRAINT `nt_zone_log_ibfk_3` FOREIGN KEY (`nt_user_id`) REFERENCES `nt_user` (`nt_user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
** CONSTRAINT `nt_zone_log_ibfk_1` FOREIGN KEY (`nt_zone_id`) REFERENCES `nt_zone` (`nt_zone_id`) ON DELETE CASCADE ON UPDATE CASCADE,
** CONSTRAINT `nt_zone_log_ibfk_2` FOREIGN KEY (`nt_group_id`) REFERENCES `nt_group` (`nt_group_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


CREATE TABLE nt_zone_nameserver (
nt_zone_id int(10) unsigned NOT NULL,
nt_nameserver_id smallint(5) unsigned NOT NULL,
UNIQUE KEY `zone_ns_id` (`nt_zone_id`,`nt_nameserver_id`)
) DEFAULT CHARSET=utf8;
) DEFAULT CHARSET=utf8mb4;
13 changes: 7 additions & 6 deletions server/sql/09_nt_zone_record.sql
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,20 @@ CREATE TABLE nt_zone_record(
ttl INT UNSIGNED NOT NULL DEFAULT 0,
description VARCHAR(255),
type_id SMALLINT(2) UNSIGNED NOT NULL,
address VARCHAR(512) NOT NULL,
address VARCHAR(5120) NOT NULL,
weight SMALLINT UNSIGNED,
priority SMALLINT UNSIGNED,
other VARCHAR(255),
other VARCHAR(512),
location VARCHAR(2) DEFAULT NULL,
timestamp timestamp NULL DEFAULT NULL,
deleted TINYINT(1) UNSIGNED DEFAULT 0 NOT NULL,
PRIMARY KEY (`nt_zone_record_id`),
KEY `nt_zone_record_idx1` (`name`),
KEY `nt_zone_record_idx2` (address(191)),
KEY `nt_zone_record_idx3` (`nt_zone_id`),
KEY `nt_zone_record_idx4` (`deleted`)
/* CONSTRAINT `nt_zone_record_ibfk_1` FOREIGN KEY (`nt_zone_id`) REFERENCES `nt_zone` (`nt_zone_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;


DROP TABLE IF EXISTS nt_zone_record_log;
Expand All @@ -50,10 +51,10 @@ CREATE TABLE nt_zone_record_log(
ttl INT UNSIGNED,
description VARCHAR(255),
type_id SMALLINT(2) UNSIGNED NOT NULL,
address VARCHAR(512),
address VARCHAR(5120),
weight SMALLINT UNSIGNED,
priority SMALLINT UNSIGNED,
other VARCHAR(255),
other VARCHAR(512),
location VARCHAR(2) DEFAULT NULL,
PRIMARY KEY (`nt_zone_record_log_id`),
KEY `nt_zone_record_log_idx1` (`timestamp`),
Expand All @@ -64,5 +65,5 @@ CREATE TABLE nt_zone_record_log(
/* CONSTRAINT `nt_zone_record_log_ibfk_3` FOREIGN KEY (`nt_zone_record_id`) REFERENCES `nt_zone_record` (`nt_zone_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
** CONSTRAINT `nt_zone_record_log_ibfk_1` FOREIGN KEY (`nt_zone_id`) REFERENCES `nt_zone` (`nt_zone_id`) ON DELETE CASCADE ON UPDATE CASCADE,
** CONSTRAINT `nt_zone_record_log_ibfk_2` FOREIGN KEY (`nt_user_id`) REFERENCES `nt_user` (`nt_user_id`) ON DELETE CASCADE ON UPDATE CASCADE */
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPRESSED;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPRESSED;

2 changes: 1 addition & 1 deletion server/sql/10_nt_perm.sql
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ CREATE TABLE nt_perm(
PRIMARY KEY (`nt_perm_id`),
KEY `nt_perm_idx1` (`nt_group_id`,`nt_user_id`),
KEY `nt_perm_idx2` (`nt_user_id`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

INSERT into nt_perm VALUES(1,1,0,NULL,NULL,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0);

Expand Down
2 changes: 1 addition & 1 deletion server/sql/12_nt_options.sql
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CREATE TABLE nt_options (
option_value text NOT NULL,
PRIMARY KEY (`option_id`),
UNIQUE KEY `option_name` (`option_name`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

INSERT INTO `nt_options`
VALUES (1,'db_version','2.27'),
Expand Down
121 changes: 119 additions & 2 deletions server/sql/upgrade.pl
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,113 @@ sub _sql_test_2_35 {
}

sub _sql_2_35 {

my @tables = qw/
nt_group nt_group_log nt_group_subgroups
nt_user nt_user_global_log nt_user_log
nt_user_session nt_user_session_log
nt_nameserver nt_nameserver_log nt_nameserver_export_log
nt_zone nt_zone_log nt_zone_nameserver
nt_zone_record nt_zone_record_log
nt_perm nt_options
resource_record_type
/;

my $encode_utf8mb4 = encode_utf8mb4( @tables );

<<EO_SQL_2_35
UPDATE `resource_record_type` SET forward=0, obsolete=1 WHERE id=99;
/* Mark SPF as obsolete and disable */

UPDATE resource_record_type SET forward=0, obsolete=1 WHERE id=99;

/* Update CHARACTER & COLLATION for VARCHAR columns */

ALTER TABLE nt_nameserver DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY name varchar(127) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY description varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY address varchar(127)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY address6 varchar(127)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY remote_login varchar(127)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;

ALTER TABLE nt_zone DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY zone varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY mailaddr varchar(127)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY description varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY location varchar(8)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;

ALTER TABLE nt_zone_log DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY zone varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY mailaddr varchar(127)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY description varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
ADD location varchar(8)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;

ALTER TABLE nt_zone_record DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY name varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY description varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY address varchar(5120)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY other varchar(512)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY location varchar(2)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;

ALTER TABLE nt_zone_record_log DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY name varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY description varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY address varchar(5120)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY other varchar(512)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY location varchar(2)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;

ALTER TABLE nt_user DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY first_name varchar(120)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY last_name varchar(160)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY username varchar(200)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY password varchar(1020)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY email varchar(400)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';

ALTER TABLE nt_user_log DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY first_name varchar(120)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY last_name varchar(160)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY username varchar(200)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '',
MODIFY password varchar(1020)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
MODIFY email varchar(400)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';

ALTER TABLE nt_group DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin,
MODIFY name varchar(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';


$encode_utf8mb4


UPDATE nt_options SET option_value='2.35' WHERE option_name='db_version';
EO_SQL_2_35
Expand Down Expand Up @@ -908,7 +1013,19 @@ sub encode_utf8 {
};

return $string;
};
}

sub encode_utf8mb4 {
my @table_names = @_;

my $string = 'ALTER DATABASE nictool DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;';
foreach my $table_name ( @_ ) {
$string .= "ALTER TABLE $table_name DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;
OPTIMIZE TABLE $table_name;\n";
};

return $string;
}

sub engine_innodb {
my @table_names = @_;
Expand Down