Steps to replicate the issue (include links if applicable):
- Upgrade MediaWiki from an older version to 1.43 and note that the patch for T299947 will perform the alter CHANGE pl_target_id pl_target_id BIGINT UNSIGNED NOT NULL;
- Consult the schema for new wikis as currently specified in tables.json and tables-generated.sql and notice that they do NOT mark the column as NOT NULL, see here
- Run Ladsgroup’s drift checker and see a reported drift, even when update.php has finished running - pagelinks pl_target_id field-nullable-mismatch. The abstract schema says that the column is nullable, and the schema changes performed by the updater make it not null.
What happens?:
There is a drift, the schema changes performed by the updater result in a schema different from the schema that would be created by the installer.
What should have happened instead?:
The schemas should match, either with the column nullable in both cases (new wiki vs upgrade) or not nullable in both cases. No drift should be reported by the drift checker.
Software version
MediaWiki 1.43