Skip to content

Commit f04e418

Browse files
committed
fix(install): use modern settings for tables
1 parent 001d12f commit f04e418

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

install/upgrade_to_2.6.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,14 @@ public function upgrade(Migration $migration) {
118118
$migration->dropKey($table, 'plugin_formcreator_question_id');
119119
$migration->addKey($table, 'plugin_formcreator_questions_id', 'plugin_formcreator_questions_id');
120120

121+
$defaultCharset = DBConnection::getDefaultCharset();
122+
$defaultCollation = DBConnection::getDefaultCollation();
123+
$defaultKeySign = DBConnection::getDefaultPrimaryKeySignOption();
124+
121125
$table = 'glpi_plugin_formcreator_items_targettickets';
122126
if (!$DB->tableExists($table)) {
123127
$query = "CREATE TABLE `$table` (
124-
`id` int(11) NOT NULL AUTO_INCREMENT,
128+
`id` int(11) $defaultKeySign NOT NULL AUTO_INCREMENT,
125129
`plugin_formcreator_targettickets_id` int(11) NOT NULL DEFAULT '0',
126130
`link` int(11) NOT NULL DEFAULT '0',
127131
`itemtype` varchar(255) NOT NULL DEFAULT '',
@@ -130,7 +134,7 @@ public function upgrade(Migration $migration) {
130134
PRIMARY KEY (`id`),
131135
INDEX `plugin_formcreator_targettickets_id` (`plugin_formcreator_targettickets_id`),
132136
INDEX `item` (`itemtype`,`items_id`)
133-
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";
137+
) ENGINE=InnoDB DEFAULT CHARSET=$defaultCharset COLLATE=$defaultCollation ROW_FORMAT=DYNAMIC;";
134138
$DB->query($query) or plugin_formcreator_upgrade_error($migration);
135139
}
136140

install/upgrade_to_2.7.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,18 +123,21 @@ public function upgrade(Migration $migration) {
123123
$migration->dropField($table, 'changetemplates_id');
124124

125125
// Migrate regex question parameters
126+
$defaultCharset = DBConnection::getDefaultCharset();
127+
$defaultCollation = DBConnection::getDefaultCollation();
128+
$defaultKeySign = DBConnection::getDefaultPrimaryKeySignOption();
126129
$table = 'glpi_plugin_formcreator_questions';
127130
if ($DB->fieldExists($table, 'regex')) {
128131
$DB->query(
129132
"CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questionregexes` (
130-
`id` int(11) NOT NULL AUTO_INCREMENT,
133+
`id` int(11) $defaultKeySign NOT NULL AUTO_INCREMENT,
131134
`plugin_formcreator_questions_id` int(11) NOT NULL,
132135
`regex` text DEFAULT NULL,
133136
`fieldname` varchar(255) DEFAULT NULL,
134137
`uuid` varchar(255) DEFAULT NULL,
135138
PRIMARY KEY (`id`),
136139
INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`)
137-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;"
140+
) ENGINE=InnoDB DEFAULT CHARSET=$defaultCharset COLLATE=$defaultCollation ROW_FORMAT=DYNAMIC;"
138141
);
139142
$request = [
140143
'FROM' => $table,
@@ -156,15 +159,15 @@ public function upgrade(Migration $migration) {
156159
if ($DB->fieldExists($table, 'range_min')) {
157160
$DB->query(
158161
"CREATE TABLE IF NOT EXISTS `glpi_plugin_formcreator_questionranges` (
159-
`id` int(11) NOT NULL AUTO_INCREMENT,
162+
`id` int(11) $defaultKeySign NOT NULL AUTO_INCREMENT,
160163
`plugin_formcreator_questions_id` int(11) NOT NULL,
161164
`range_min` varchar(255) DEFAULT NULL,
162165
`range_max` varchar(255) DEFAULT NULL,
163166
`fieldname` varchar(255) DEFAULT NULL,
164167
`uuid` varchar(255) DEFAULT NULL,
165168
PRIMARY KEY (`id`),
166169
INDEX `plugin_formcreator_questions_id` (`plugin_formcreator_questions_id`)
167-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;"
170+
) ENGINE=InnoDB DEFAULT CHARSET=$defaultCharset COLLATE=$defaultCollation ROW_FORMAT=DYNAMIC;"
168171
);
169172
$request = [
170173
'FROM' => $table,

tests/script-functions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ plugin_test_upgrade() {
6060
php ../../bin/console glpi:migration:myisam_to_innodb --no-interaction --config-dir=../../$TEST_GLPI_CONFIG_DIR
6161
php ../../bin/console glpi:plugin:install formcreator --username=glpi --config-dir=../../$TEST_GLPI_CONFIG_DIR
6262
# Upgrading from < 2.6 will create a MyISAM table, then re-run innoDB migration
63-
php ../../bin/console glpi:migration:myisam_to_innodb --no-interaction --config-dir=../../$TEST_GLPI_CONFIG_DIR
63+
# php ../../bin/console glpi:migration:myisam_to_innodb --no-interaction --config-dir=../../$TEST_GLPI_CONFIG_DIR
6464
php ../../bin/console glpi:migration:unsigned_keys --no-interaction --config-dir=../../$TEST_GLPI_CONFIG_DIR
6565
php ../../bin/console glpi:migration:utf8mb4 --no-interaction --config-dir=../../$TEST_GLPI_CONFIG_DIR
6666
}

0 commit comments

Comments
 (0)