Page MenuHomePhabricator

ConfirmAccount schema fails to install on MW 1.37+ against PostgreSQL
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Install MediaWiki 1.37 or 1.39 running against a PostgreSQL database
  • Download ConfirmAccount (I used REL1_39) and add the wfLoadExtension line
  • Run update.php

What happens?:

Creating account_requests table...Wikimedia\Rdbms\DBQueryError from line 1618 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42P01: ERROR:  relation "mwuser" does not exist

Function: Wikimedia\Rdbms\Database::sourceFile( /var/www/html/extensions/ConfirmAccount/includes/backend/schema/postgres/ConfirmAccount.pg.sql )
Query: CREATE TABLE account_requests (
 acr_id                   INTEGER  PRIMARY KEY NOT NULL DEFAULT nextval('account_requests_acr_id_seq'),
 acr_name                 TEXT      NOT NULL UNIQUE,
 acr_real_name            TEXT,
 acr_email                TEXT,
 acr_email_token          CHAR(32),
 acr_email_token_expires  TIMESTAMPTZ,
 acr_email_authenticated  TIMESTAMPTZ,
 acr_registration         TIMESTAMPTZ,
 acr_bio                  TEXT,
 acr_notes                TEXT,
 acr_urls                 TEXT,
 acr_ip                   CIDR,
 acr_xff               TEXT,
 acr_agent                TEXT,
 acr_filename             TEXT,
 acr_storage_key          TEXT,
 acr_type                 INTEGER NOT NULL DEFAULT 0,
 acr_areas                TEXT,
 acr_deleted              INTEGER NOT NULL DEFAULT 0,
 acr_rejected             TIMESTAMPTZ,
 acr_held                 TIMESTAMPTZ,
 acr_user                 INTEGER  REFERENCES mwuser(user_id) ON DELETE SET NULL,
 acr_comment              TEXT     NOT NULL DEFAULT ''
 )


#0 /var/www/html/includes/libs/rdbms/database/Database.php(1602): Wikimedia\Rdbms\Database->getQueryException('ERROR:  relatio...', '42P01', 'CREATE TABLE ac...', 'Wikimedia\\Rdbms...')
#1 /var/www/html/includes/libs/rdbms/database/Database.php(1576): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR:  relatio...', '42P01', 'CREATE TABLE ac...', 'Wikimedia\\Rdbms...')
#2 /var/www/html/includes/libs/rdbms/database/Database.php(952): Wikimedia\Rdbms\Database->reportQueryError('ERROR:  relatio...', '42P01', 'CREATE TABLE ac...', 'Wikimedia\\Rdbms...', false)
#3 /var/www/html/includes/libs/rdbms/database/Database.php(3299): Wikimedia\Rdbms\Database->query('CREATE TABLE ac...', 'Wikimedia\\Rdbms...')
#4 /var/www/html/includes/libs/rdbms/database/Database.php(3238): Wikimedia\Rdbms\Database->sourceStream(Resource id #843, NULL, NULL, 'Wikimedia\\Rdbms...', NULL)
#5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(103): Wikimedia\Rdbms\Database->sourceFile('/var/www/html/e...')
#6 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(806): Wikimedia\Rdbms\DBConnRef->__call('sourceFile', Array)
#7 /var/www/html/includes/installer/DatabaseUpdater.php(718): Wikimedia\Rdbms\DBConnRef->sourceFile('/var/www/html/e...')
#8 /var/www/html/includes/installer/DatabaseUpdater.php(763): DatabaseUpdater->applyPatch('/var/www/html/e...', true, 'Creating accoun...')
#9 /var/www/html/includes/installer/DatabaseUpdater.php(547): DatabaseUpdater->addTable('account_request...', '/var/www/html/e...', true)
#10 /var/www/html/includes/installer/DatabaseUpdater.php(515): DatabaseUpdater->runUpdates(Array, true)
#11 /var/www/html/maintenance/update.php(202): DatabaseUpdater->doUpdates(Array)
#12 /var/www/html/maintenance/includes/MaintenanceRunner.php(309): UpdateMediaWiki->execute()
#13 /var/www/html/maintenance/doMaintenance.php(85): MediaWiki\Maintenance\MaintenanceRunner->run()
#14 /var/www/html/maintenance/update.php(312): require_once('/var/www/html/m...')
#15 {main}

What should have happened instead?:

The schema should have installed properly

Software version (skip for WMF-hosted wikis like Wikipedia): MediaWiki 1.39, ConfirmAccount 627ef809 (REL1_39)

Other information (browser name/version, screenshots, etc.):

The mwuser table was renamed to user in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/675332.

Event Timeline

Change 875819 had a related patch set uploaded (by MarksPolakovs; author: MarksPolakovs):

[mediawiki/extensions/ConfirmAccount@master] schema/postgres: fix reference to "mwuser" table

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

Change 875819 merged by jenkins-bot:

[mediawiki/extensions/ConfirmAccount@master] schema/postgres: remove fkey to "mwuser" table

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

Change 876055 had a related patch set uploaded (by MarksPolakovs; author: MarksPolakovs):

[mediawiki/extensions/ConfirmAccount@REL1_39] schema/postgres: remove fkey to "mwuser" table

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

Change 876055 merged by jenkins-bot:

[mediawiki/extensions/ConfirmAccount@REL1_39] schema/postgres: remove fkey to "mwuser" table

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