Page MenuHomePhabricator

Fix linter table linter_params definition to not be nullable
Closed, ResolvedPublic

Description

During the change in 2020 to abstract table definitions ( https://phabricator.wikimedia.org/T259374 ), the linter_params field was accidentally changed from not nullable, to be nullable. For years it was not nullable in production, nor did the linter extension code change after 2020 to use or require the field to be null. This caused a drift in the definition compared to production databases and while innocuous, might lead an engineer maintaining the linter extension to see the definition of the field as being nullable and begin setting the field to null for some new feature and causing errors in production. This ticket is documenting the change back to the original definition

Event Timeline

Change 883649 had a related patch set uploaded (by Sbailey; author: Sbailey):

[mediawiki/extensions/Linter@master] Fix linter table linter_params definition to not be nullable

https://gerrit.wikimedia.org/r/883649

Sbailey changed the task status from Open to In Progress.Wed, Jan 25, 8:18 PM

Created https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Linter/+/883649
to fix the definition of linter_params to not be nullable.

Change 883649 merged by jenkins-bot:

[mediawiki/extensions/Linter@master] Fix linter table linter_params definition to not be nullable

https://gerrit.wikimedia.org/r/883649

Running drift tracker to see what wikis have been created with this.

There is around 25 wikis that have been created between the time it was introduced: P43519. Thankfully they all are small enough that should be doable to simply run the alter with replication on master.

Wikis to fix:

  • altwiki
  • amiwiki
  • apiportalwiki
  • arbcom_ruwiki
  • aswikiquote
  • banwikisource
  • bclwikiquote
  • bclwiktionary
  • bjnwiktionary
  • blkwiki
  • bnwikiquote
  • dagwiki
  • diqwiktionary
  • eowikivoyage
  • gorwiktionary
  • guwwiki
  • guwwikiquote
  • guwwiktionary
  • igwikiquote
  • igwiktionary
  • jawikivoyage
  • jvwikisource
  • kcgwiki
  • lmowiktionary
  • madwiki
  • mniwiki
  • mniwiktionary
  • mnwwiktionary
  • niawiki
  • niawiktionary
  • pcmwiki
  • pwnwiki
  • shiwiki
  • shnwikibooks
  • shnwikivoyage
  • skrwiki
  • skrwiktionary
  • smnwiki
  • taywiki
  • tlwikiquote
  • trvwiki
  • trwikivoyage
  • wawikisource

All fixed. Tested on of those wikis and linter works fine and replication didn't break. And show create table looks correct. This is fixed.

Ah this is great, no more drift on linter table. Thanks Amir :-)