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.
```lang=sql
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
[x] s1
[] s2
[] s3
[x] s4
[] s7