Topic on Extension talk:UserMerge

Summary by 星耀晨曦

This bug is already fixed on master branch.

194.76.232.190 (talkcontribs)

Following error occured while merging:

[Wgrr4uUSqyqvtDUahBKYCgAAAAk] /mediaWiki/index.php/Spezial:Benutzerkonten_vereinigen Wikimedia\Rdbms\DBQueryError from line 1075 of /usr/share/mediawiki-1.29.1/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: UPDATE IGNORE "user_groups" SET ug_user = '19' WHERE ug_user = '18'

Function: MergeUser::mergeDatabaseTables

Error: 42P01 FEHLER: Relation »ignore« existiert nicht

LINE 1: UPDATE /* MergeUser::mergeDatabaseTables */ IGNORE "user_gr...

Im using mediawiki 1.29.1; PHP 7.1.10 (apache2handler); PostgreSQL 9.6.5; ICU 57.1 and UserMerge 1.10.1 (de5f67d).

Linedwell (talkcontribs)

Hello, I have the same issue with MW 1.29.1; PHP 7.0.22-0ubuntu0.16.04.1; MySQL 5.7.20-0ubuntu0.16.04.1-log and UserMerge 1.10.1

M art in (talkcontribs)

Same with me.... MW 1.27.1 PHP 7.0.7 PostgreSQL 9.4.13

MHSluka (talkcontribs)

I had the same problem with MediaWiki 1.30.

With "$wgDebugToolbar = true;" I saw the following queries:

UPDATE  `watchlist` SET wl_user = '1095' WHERE wl_user = '91';
ROLLBACK;

and in the "Debug log":

[DBQuery] MergeUser::mergeDatabaseTables localhost 1062 Duplicate entry '1095-0-Aus_der_Satzung_Gefallenes' for key 'wl_user' (localhost) UPDATE `watchlist` SET wl_user = '1095' WHERE wl_user = '91'

So the problem was that both the old and the new users watched the same pages.

Workaround: Find the duplicate entries ("select old.wl_id, old.wl_namespace, old.wl_title from watchlist old join watchlist new on old.wl_namespace = new.wl_namespace and old.wl_title = new.wl_title where old.wl_user = 91 and new.wl_user = 1095") and delete them before merging the user accounts.

There is an open bug report for this issue.