Showed up in [[https://people.wikimedia.org/~ladsgroup/by_drift_type_drifts.json|drift report using abstract schema]]:
```lang=json
"filearchive fa_deleted_timestamp field-type-mismatch": {
"s1": [
"db1083:enwiki",
"db1084:enwiki",
"db1169:enwiki",
"db1118:enwiki",
"db1163:enwiki",
"db1106:enwiki",
"db1164:enwiki",
"db1119:enwiki",
"db1134:enwiki"
],
"s2": [
"db1122:svwiki",
"db1129:svwiki",
"db1076:svwiki",
"db1074:svwiki"
],
"s3": [
"db1123:aswikibooks",
"db1166:aswikibooks",
"db1157:aswikibooks",
"db1175:aswikibooks",
"db1112:aswikibooks"
],
"s6": [
"db1131:ruwiki",
"db1168:ruwiki",
"db1085:ruwiki",
"db1173:ruwiki"
],
"s7": [
"db1086:cawiki",
"db1127:cawiki",
"db1136:cawiki",
"db1079:cawiki"
]
},```
At first, I thought it was a mistake in abstraction ({T42626} {T230428}) but in the [[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/651001/4/maintenance/tables.sql#b595|old code]] it was binary(14) and hasn't changed since 2007.
In production it's
```
wikiadmin@10.64.32.77(enwiki)> desc filearchive;
+----------------------+-------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+-------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+
| fa_deleted_timestamp | varbinary(14) | YES | MUL | | |
```
While in the code it's `fa_deleted_timestamp BINARY(14) DEFAULT NULL,` (and it should be this). The same situation applies to `fa_timestamp` field as well
```
ALTER TABLE /*_*/filearchive
MODIFY fa_deleted_timestamp BINARY(14) DEFAULT NULL,
MODIFY fa_timestamp BINARY(14) DEFAULT NULL;
```
Schema change progress:
[] s1
[x] eqiad
[] codfw
[] s2
[x] eqiad
[] codfw
[] s3
[x] eqiad
[] codfw
[] s4
[x] eqiad
[] codfw
[] s5
[x] eqiad
[] codfw
[] s6
[x] eqiad
[] codfw
[] s7
[x] eqiad
[] codfw
[x] s10
[x] labtestwiki
Confirmed that s8 is not affected.