Page MenuHomePhabricator

Table 'centralauth.securepoll_lists' does not exist
Open, Needs TriagePublic

Description

Step 1: Create a wiki farm, and install CentralAuth

Step 2: Install SecurePoll

Step 3: Create a poll, then try to vote in it

Error is shown below. Clearly, the update script is not creating the required table.

[c0436b3d476826a206b697be] /index.php?title=Special:SecurePoll/vote/1 Wikimedia\Rdbms\DBQueryError from line 1149 of /var/www/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?
Query: SELECT li_name FROM `securepoll_lists` WHERE li_member = '1'
Function: SecurePoll_LocalAuth::getCentralLists
Error: 1146 Table 'centralauth.securepoll_lists' doesn't exist (localhost)
 
Backtrace:
 
#0 /var/www/includes/libs/rdbms/database/Database.php(979): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#1 /var/www/includes/libs/rdbms/database/Database.php(1343): Wikimedia\Rdbms\Database->query(string, string)
#2 [internal function]: Wikimedia\Rdbms\Database->select(string, array, array, string)
#3 /var/www/includes/libs/rdbms/database/DBConnRef.php(49): call_user_func_array(array, array)
#4 /var/www/includes/libs/rdbms/database/DBConnRef.php(266): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#5 /var/www/extensions/SecurePoll/includes/user/Auth.php(281): Wikimedia\Rdbms\DBConnRef->select(string, array, array, string)
#6 /var/www/extensions/SecurePoll/includes/user/Auth.php(233): SecurePoll_LocalAuth->getCentralLists(User)
#7 /var/www/extensions/SecurePoll/includes/user/Auth.php(202): SecurePoll_LocalAuth->getUserParams(User)
#8 /var/www/extensions/SecurePoll/includes/user/Auth.php(146): SecurePoll_LocalAuth->autoLogin(SecurePoll_Election)
#9 /var/www/extensions/SecurePoll/includes/pages/VotePage.php(38): SecurePoll_Auth->newAutoSession(SecurePoll_Election)
#10 /var/www/extensions/SecurePoll/includes/main/SpecialSecurePoll.php(72): SecurePoll_VotePage->execute(array)
#11 /var/www/includes/specialpage/SpecialPage.php(522): SecurePoll_SpecialSecurePoll->execute(string)
#12 /var/www/includes/specialpage/SpecialPageFactory.php(578): SpecialPage->run(string)
#13 /var/www/includes/MediaWiki.php(287): SpecialPageFactory::executePath(Title, RequestContext)
#14 /var/www/includes/MediaWiki.php(848): MediaWiki->performRequest()
#15 /var/www/includes/MediaWiki.php(523): MediaWiki->main()
#16 /var/www/index.php(43): MediaWiki->run()
#17 {main}

Event Timeline

PS: Running the .sql file on centralauth database fixes the problem. In the case of WMF, is that where the securepoll tables are located (i.e. inside centralauth database)?

PPS: Even after "fixing" the problem by running the sql file on the centralauth DB, the tables in centralauth remain empty when you create a local election and vote in it. Should those tables be needed in centralauth DB at all, when dealing with a local election?