aboutsummaryrefslogtreecommitdiff
path: root/db/migrations
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-04-23 08:32:14 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-04-23 08:32:14 +0000
commitfc341f65709f2bbf239a9cc56250d9fa8eb304f8 (patch)
treec94be7323316b92e8bb33336b9d139e57dc56903 /db/migrations
parent20accee77992240e4bb1347a9eed97ee85392938 (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.php87
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);
+ }
+}