https://drift-tracker.toolforge.org/report/core/ shows a schema drift for:
- Mismatching field size of page_restrictions.pr_level
- Mismatching field size of page_restrictions.pr_type
on s1, s2, s3, s4, s7
Replicas show the following metadata:
MariaDB [bgwiki_p]> show columns from page_restrictions; +------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+-------+ | pr_page | int(8) | NO | | 0 | | | pr_type | varbinary(255) | NO | | | | | pr_level | varbinary(255) | NO | | | | | pr_cascade | tinyint(4) | NO | | 0 | | | pr_user | int(10) unsigned | YES | | NULL | | | pr_expiry | varbinary(14) | YES | | NULL | | | pr_id | int(10) unsigned | NO | | 0 | | +------------+------------------+------+-----+---------+-------+ 7 rows in set (0.01 sec)
The fields pr_level/pr_type has a length of 255, while code has a length of 60 since rMWf38344aba87edbdb5dba23d6433bf3c7cbbb0b51
The commit also changed varchar to varbinary, but that seems to be applied already.
There is no ready ALTER statement in the commit history.
The shorter database fields should be no problem, because the existing type/levels are not that long.
ALTER TABLE /*_*/page_restrictions CHANGE pr_type pr_type VARBINARY(60) NOT NULL, CHANGE pr_level pr_level VARBINARY(60) NOT NULL;
- ALTERs to run: see above
- Where to run those changes: s1, s2, s3, s4, s7 - list of wikis needs to be created
- When to run those changes: any time
- If the schema change is backwards compatible: Yes
- If the schema change has been tested already on some of the test/beta wikis: beta cluster is running with the new schema
- if the data should be made available on the labs replicas and/or dumps: no change of the existing rules
Other notes: This is similiar to T278621 on the jobs table.
Progress
- Wikis to alter: T298295#7763205
- s1
- s2
- s3
- s4
- s7