diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-04-23 08:32:14 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-04-23 08:32:14 +0000 |
| commit | fc341f65709f2bbf239a9cc56250d9fa8eb304f8 (patch) | |
| tree | c94be7323316b92e8bb33336b9d139e57dc56903 /db/migrations | |
| parent | 20accee77992240e4bb1347a9eed97ee85392938 (diff) | |
add migration that fixes issues with migration 6.0.38, fixes #5489
Closes #5489
Merge request studip/studip!4119
Diffstat (limited to 'db/migrations')
| -rw-r--r-- | db/migrations/6.0.47_adjust_studygroups_migration.php | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/db/migrations/6.0.47_adjust_studygroups_migration.php b/db/migrations/6.0.47_adjust_studygroups_migration.php new file mode 100644 index 0000000..9665e06 --- /dev/null +++ b/db/migrations/6.0.47_adjust_studygroups_migration.php @@ -0,0 +1,87 @@ +<?php +/** + * @see https://gitlab.studip.de/studip/studip/-/issues/5489 + */ +final class AdjustStudygroupsMigration extends Migration +{ + public function description() + { + return 'Fixes issues with migration 6.0.38'; + } + + public function up() + { + $query = "ALTER TABLE `studygroup_courses` + MODIFY COLUMN `studygroup_id` CHAR(32) COLLATE latin1_bin NOT NULL, + MODIFY COLUMN `course_id` CHAR(32) COLLATE latin1_bin DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `studygroup_courses_proposals` + MODIFY COLUMN `studygroup_id` CHAR(32) COLLATE latin1_bin NOT NULL, + MODIFY COLUMN `course_id` CHAR(32) COLLATE latin1_bin DEFAULT NULL, + MODIFY COLUMN `user_id` CHAR(32) COLLATE latin1_bin DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `tags` + MODIFY COLUMN `mkdate` INT(11) UNSIGNED DEFAULT NULL, + MODIFY COLUMN `chdate` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `tags_relations` + MODIFY COLUMN `tag_id` INT(11) UNSIGNED DEFAULT NULL, + MODIFY COLUMN `range_id` VARCHAR(32) COLLATE latin1_bin DEFAULT NULL, + MODIFY COLUMN `range_type` VARCHAR(100) COLLATE latin1_bin DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `seminare` + MODIFY COLUMN `expires` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `studygroup_stgteil` + MODIFY COLUMN `studygroup_id` CHAR(32) COLLATE latin1_bin NOT NULL, + MODIFY COLUMN `stgteil_id` VARCHAR(32) COLLATE latin1_bin NOT NULL, + MODIFY COLUMN `mkdate` INT(11) UNSIGNED DEFAULT NULL"; + DBManager::get()->execute($query); + } + + public function down() + { + $query = "ALTER TABLE `studygroup_stgteil` + MODIFY COLUMN `studygroup_id` CHAR(32) NOT NULL, + MODIFY COLUMN `stgteil_id` VARCHAR(32) NOT NULL, + MODIFY COLUMN `mkdate` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `seminare` + MODIFY COLUMN `expires` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `tags_relations` + MODIFY COLUMN `tag_id` INT(11) DEFAULT NULL, + MODIFY COLUMN `range_id` VARCHAR(32) DEFAULT NULL, + MODIFY COLUMN `range_type` VARCHAR(100) DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `tags` + MODIFY COLUMN `mkdate` INT(11) DEFAULT NULL, + MODIFY COLUMN `chdate` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `studygroup_courses_proposals` + MODIFY COLUMN `studygroup_id` CHAR(32) NOT NULL, + MODIFY COLUMN `course_id` CHAR(32) DEFAULT NULL, + MODIFY COLUMN `user_id` CHAR(32) DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + + $query = "ALTER TABLE `studygroup_courses` + MODIFY COLUMN `studygroup_id` CHAR(32) NOT NULL, + MODIFY COLUMN `course_id` CHAR(32) DEFAULT NULL, + MODIFY COLUMN `mkdate` INT(11) DEFAULT NULL"; + DBManager::get()->execute($query); + } +} |
