Don't try to drop ug_user_group index if it doesn't exist
authorThis, that and the other <at.light@live.com.au>
Wed, 1 Feb 2017 14:57:09 +0000 (01:57 +1100)
committerThis, that and the other <at.light@live.com.au>
Wed, 1 Feb 2017 14:57:09 +0000 (01:57 +1100)
This is needed for MySQL only.

Bug: T156901
Change-Id: I351fa1b7ce5a9b1c7b19ecb7d26d8a1f699d88f8

includes/installer/MysqlUpdater.php
maintenance/archives/patch-user_groups-primary-key.sql [new file with mode: 0644]
maintenance/archives/patch-user_groups-ug_expiry.sql

index 7a27f5f..9be6c3d 100644 (file)
@@ -294,6 +294,7 @@ class MysqlUpdater extends DatabaseUpdater {
 
                        // 1.29
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
+                       [ 'dropIndex', 'user_groups', 'ug_user_group', 'patch-user_groups-primary-key.sql' ],
                        [ 'addField', 'user_groups', 'ug_expiry', 'patch-user_groups-ug_expiry.sql' ],
                ];
        }
diff --git a/maintenance/archives/patch-user_groups-primary-key.sql b/maintenance/archives/patch-user_groups-primary-key.sql
new file mode 100644 (file)
index 0000000..e3c8735
--- /dev/null
@@ -0,0 +1,5 @@
+-- Convert unique index into a primary key on user_groups
+
+ALTER TABLE /*$wgDBprefix*/user_groups
+  DROP INDEX ug_user_group,
+  ADD PRIMARY KEY (ug_user, ug_group);
index 2ce2c9e..b329f94 100644 (file)
@@ -1,7 +1,5 @@
--- Primary key and expiry column in user_groups table
+-- Add expiry column in user_groups table
 
 ALTER TABLE /*$wgDBprefix*/user_groups
-  DROP INDEX ug_user_group,
-  ADD PRIMARY KEY (ug_user, ug_group),
   ADD COLUMN ug_expiry varbinary(14) NULL default NULL,
   ADD INDEX ug_expiry (ug_expiry);