From the checklist at https://wikitech.wikimedia.org/wiki/Schema_changes:
- ALTERs to run: https://gerrit.wikimedia.org/r/#/c/380669/48/maintenance/archives/patch-actor-table.sql, minus the changes to the image table that are already being done per T187089#3966227
- Where to run those changes: all.dblist
- When to run those changes: No time constraint.
- If the schema change is backwards compatible: Yes. The new columns and tables won't be used until a feature flag is enabled.
- If the schema change has been tested already on some of the test/beta wikis: It has been auto-deployed to Beta. I haven't heard that it broke anything.
- if the data should be made available on the labs replicas and/or dumps: Treatment of replicas and dumps are the same.
- All columns in the actor table can be made available without restriction. Rows must only be available if (1) actor_user refers to a visible row in the user table or (2) the row is publicly referenced from one of the _actor columns being added in this patch. Extensions converted to have _actor columns will eventually need to be added to that list. Note: From the MediaWiki side, this table should receive manly INSERTs, no UPDATEs, and DELETEs only due to potential maintenance. Also note {T91706}.
- All columns in revision_actor_temp can be made available without restriction. Rows must only be available if the corresponding revision table row exists (join on revactor_rev = rev_id) and has (rev_deleted & 4) = 0. Note: From the MediaWiki side, this table should receive INSERTs and DELETEs but no UPDATEs.
- All the _actor columns added to existing tables should be available under the same conditions as the corresponding _user or _user_text columns. These seem to be:
- archive.ar_actor: Available when (ar_deleted & 4) = 0.
- ipblocks.ipb_by_actor: Always available (whenever the row itself is).
- image.img_actor: Always available.
- oldimage.oi_actor: Available when (oi_deleted & 4) = 0.
- filearchive.fa_actor: Available when (fa_deleted & 4) = 0.
- recentchanges.rc_actor: Available when (rc_deleted & 4) = 0.
- logging.log_actor: Available when (log_deleted & 4) = 0.
Schema change progress:
- s1
- codfw
- eqiad progress T188299#4228307
- s2
- codfw
- eqiad progress T188299#4160112
- s3
- codfw
- eqiad progress T188299#4212820
- s4
- codfw
- eqiad progress T188299#4181128
- s5
- codfw
- eqiad progress T188299#4139168
- s6
- codfw
- eqiad progress T188299#4149629
- s7
- codfw
- eqiad progress T188299#4204535
- s8
- codfw
- eqiad progress T188299#4222209