DI::lock()->release('dbupdate', true);
}
- if (!DBStructure::existsTable('config')) {
- DBA::e(<<<EOF
-CREATE TABLE IF NOT EXISTS `config` (
- `id` int unsigned NOT NULL auto_increment COMMENT '',
- `cat` varbinary(50) NOT NULL DEFAULT '' COMMENT 'The category of the entry',
- `k` varbinary(50) NOT NULL DEFAULT '' COMMENT 'The key of the entry',
- `v` mediumtext COMMENT '',
- PRIMARY KEY(`id`),
- UNIQUE INDEX `cat_k` (`cat`,`k`)
-) DEFAULT COLLATE utf8mb4_general_ci COMMENT='main configuration storage';
-EOF
-);
- }
-
$build = DI::config()->get('system', 'build');
if (empty($build)) {
// Optimizing this table only last seconds
if (DI::config()->get('system', 'optimize_tables')) {
Logger::info('Optimize start');
- DBA::e("OPTIMIZE TABLE `post-delivery`");
+ DBA::optimizeTable('post-delivery');
Logger::info('Optimize end');
}
}
echo DI::l10n()->t('The database version had been set to %s.', $version);
}
+ /**
+ * Dops a specific table
+ *
+ * @param string $table the table name
+ *
+ * @return bool true if possible, otherwise false
+ */
+ public static function dropTable(string $table): bool
+ {
+ return DBA::isResult(DBA::e('DROP TABLE ' . DBA::quoteIdentifier($table) . ';'));
+ }
+
/**
* Drop unused tables
*
$sql = 'DROP TABLE ' . DBA::quoteIdentifier($table) . ';';
echo $sql . "\n";
- $result = DBA::e($sql);
- if (!DBA::isResult($result)) {
+ if (!static::dropTable($table)) {
self::printUpdateError($sql);
}
} else {