wiki.techinc.nl/maintenance/sqlite/archives/patch-user_former_groups-fix-pk.sql
Reedy 0f13fff160 Convert UNIQUE keys into PRIMARY KEY
WMF DBAs have been doing a massive effort to convert UNIQUE KEYS into
PRIMARY KEY.

Having a PK is essential to do maintenance, specially on large tasks.
By not having a PK it is impossible to add it in a safe way if not done
directly on the master.

Having a PK means that we can easily change the PK into another one if
needed in the future. The ones we chose might not be the best ones, but
will allow us to get them changed.

Bug: T172514
Change-Id: Id635297838938c7c5dfe65d45285a4d16d65152d
2017-08-29 18:25:37 +01:00

13 lines
No EOL
408 B
SQL

CREATE TABLE /*_*/user_former_groups_tmp (
-- Key to user_id
ufg_user int unsigned NOT NULL default 0,
ufg_group varbinary(255) NOT NULL default '',
PRIMARY KEY (ufg_user,ufg_group)
) /*$wgDBTableOptions*/;
INSERT INTO /*_*/user_former_groups_tmp
SELECT * FROM /*_*/user_former_groups;
DROP TABLE /*_*/user_former_groups;
ALTER TABLE /*_*/user_former_groups_tmp RENAME TO /*_*/user_former_groups;