Page MenuHomePhabricator

Ensure GlobalBlocking's db patches are compatible with sqlite
Closed, ResolvedPublic

Description

This is moreso a developer on docker problem since afaik prod runs mysql. The docker-compose.yml that comes oob w/mediawiki uses sqlite though.

While trying to install GlobalBlocking and updating my dbs, I noticed that it was running the following sql-only patches:

  • sql/patch-global_block_whitelist-reason-length.sql
  • sql/patch-global_block_whitelist-use-varbinary.sql
  • sql/patch-globalblocks-reason-length.sql

and understandably, the db refused to run the commands on account of sqlite explicitly not support them, throwing an error and halting the update.

I got around it by commenting out the patches and afterwards, could not reproduce the error. However, I believe this error is reproducible if you drop globalblocks and global_block_whitelist and try to update from scratch. @TThoabala I think you mentioned you came across a similar problem? Could you confirm?

AC:

  • these patches no longer run if updates are being run on an sqlite db
  • update.php finishes successfully on a "fresh run"

Event Timeline

Change 814274 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/GlobalBlocking@master] sqlite: Remove patch set for sqlite from updater

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

Change 814274 merged by jenkins-bot:

[mediawiki/extensions/GlobalBlocking@master] sqlite: Remove patch set for sqlite from updater

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