diff --git a/db/migrations/5.1.25_adjust_clipboard_tables.php b/db/migrations/5.1.25_adjust_clipboard_tables.php new file mode 100644 index 0000000000000000000000000000000000000000..837eec4604902ca8c8eaf4ed9f2ecacfad43b139 --- /dev/null +++ b/db/migrations/5.1.25_adjust_clipboard_tables.php @@ -0,0 +1,36 @@ +<?php +final class AdjustClipboardTables extends Migration +{ + public function description() + { + return 'Alter clipboard tables by fixing indices, column types and collations'; + } + + protected function up() + { + $query = "ALTER TABLE `clipboards` + CHANGE COLUMN `name` `name` VARCHAR(256) NOT NULL DEFAULT '', + ADD INDEX `user_id` (`user_id`)"; + DBManager::get()->exec($query); + + $query = "ALTER TABLE `clipboard_items` + CHANGE COLUMN `range_id` `range_id` CHAR(32) CHARACTER SET latin1 COLLATE `latin1_bin` NOT NULL, + ADD INDEX `clipboard_id` (`clipboard_id`), + ADD INDEX `range` (`range_id`,`range_type`)"; + DBManager::get()->exec($query); + } + + protected function down() + { + $query = "ALTER TABLE `clipboard_items` + CHANGE COLUMN `range_id` `range_id` VARCHAR(98) CHARACTER SET latin1 COLLATE `latin1_bin` NOT NULL, + DROP INDEX `clipboard_id`, + DROP INDEX `range`"; + DBManager::get()->exec($query); + + $query = "ALTER TABLE `clipboards` + CHANGE COLUMN `name` `name` VARCHAR(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', + DROP INDEX `user_id`"; + DBManager::get()->exec($query); + } +}