Another update from me here. I have manually applied the patch as described here https://gerrit.wikimedia.org/r/c/mediawiki/core/+/765191/1/maintenance/includes/MigrateActors.php#220
and it actually worked! I was able to migrate my DB. Very helpful, hope this patch gets approved and merged.
- Feed Queries
- All Stories
- Search
- Feed Search
- Transactions
- Transaction Logs
May 12 2022
May 9 2022
Thanks. Unfortunately this does not solve the problem either. I found the problematic table 'XXXlogging' and did the following :
May 6 2022
In T229092#7909787, @Ciencia_Al_Poder wrote:In T229092#7909741, @Elli777 wrote:Thanks, but for me this does not solve the issue. I update the XXXactor table to update the empty actor_id with an 'unknown' value:
update XXXactor set actor_name='unknown' where actor_id=227;but on the next time I run update.php, it tries to insert it again with different id... It seems like a logical problem in the update process. Can someone please help because this is quite critical?
The update must be done on the individual tables where user_name is present, but not on the actor table. The actor table is populated with the contents of all the other tables.
User names that contain a ">" character (which is invalid for a user name), are treated as "external" users. That's how imports (Special:Import) are handled. The contents before the > is the wiki name (usually an interwiki prefix, but it can be a random string like "unknown" for example) and the contents after the > is the actual user name. Since those users are externals, they won't get a user id and the script should just insert a new entry for each unique external user.
This is an example of script for the revision table to update all users with empty name:
update revision set rev_user_text = 'unknown>unknown' where rev_user_text = '';Another script for the revision table, to update users that don't have a matching user id
update revision set rev_user_text = concat('unknown>', rev_user_text), rev_user = 0 where rev_user > 0 and not exists (select * from user where user_id = rev_user);I think this should cover most cases. Of course, that should be adapted for each table with user and user_text columns where the problem exists.
In T229092#7899487, @Ciencia_Al_Poder wrote:The logical fix in all situations would be to update all rows with an empty user_name, or with an xx_user_id equal to 0, or non-existing xx_user_id in the user table, setting an "external" xx_user_name like "unknown>unknown" and a xx_user_id = 0.
May 3 2022
Hi,
Is there any update on this? I'm experiencing same issue after upgrade from 1.27 to 1.37. Some of the wikis work, but one of them does not. I tried deleting the row with the empty "actor_name" to no avail: