CanastaWiki / Canasta

MediaWiki Docker image for Canasta, an all-in-one MediaWiki stack for easy deployment and management of enterprise-ready MediaWiki on production environments.
https://www.canasta.wiki
MIT License
36 stars 27 forks source link

Echo extensions can't update the database from version 1.35 to 1.39.1 #309

Closed pastakhov closed 11 months ago

pastakhov commented 11 months ago

It throws the error when maintenance/update.php is running:

Adding index eps_user to table echo_push_subscription...Wikimedia\Rdbms\DBQueryError from line 1618 of /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php: Error 1091: Can't DROP 'echo_push_subscription_ibfk_1'; check that column/key exists
Function: Wikimedia\Rdbms\Database::sourceFile( /var/www/mediawiki/w/canasta-extensions/Echo/sql/mysql/patch-cleanup-push_subscription-foreign-keys-indexes.sql )
Query: ALTER TABLE `echo_push_subscription` DROP FOREIGN KEY `echo_push_subscription_ibfk_1`

#0 /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php(1602): Wikimedia\Rdbms\Database->getQueryException()
#1 /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php(1576): Wikimedia\Rdbms\Database->getQueryExceptionAndLog()
#2 /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php(952): Wikimedia\Rdbms\Database->reportQueryError()
#3 /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php(3299): Wikimedia\Rdbms\Database->query()
#4 /var/www/mediawiki/w/includes/libs/rdbms/database/Database.php(3238): Wikimedia\Rdbms\Database->sourceStream()
#5 /var/www/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(103): Wikimedia\Rdbms\Database->sourceFile()
#6 /var/www/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(806): Wikimedia\Rdbms\DBConnRef->__call()
#7 /var/www/mediawiki/w/includes/installer/DatabaseUpdater.php(718): Wikimedia\Rdbms\DBConnRef->sourceFile()
#8 /var/www/mediawiki/w/includes/installer/DatabaseUpdater.php(819): DatabaseUpdater->applyPatch()
#9 /var/www/mediawiki/w/includes/installer/DatabaseUpdater.php(547): DatabaseUpdater->addIndex()
#10 /var/www/mediawiki/w/includes/installer/DatabaseUpdater.php(515): DatabaseUpdater->runUpdates()
#11 /var/www/mediawiki/w/maintenance/update.php(202): DatabaseUpdater->doUpdates()
#12 /var/www/mediawiki/w/maintenance/includes/MaintenanceRunner.php(309): UpdateMediaWiki->execute()
#13 /var/www/mediawiki/w/maintenance/doMaintenance.php(85): MediaWiki\Maintenance\MaintenanceRunner->run()
#14 /var/www/mediawiki/w/maintenance/update.php(312): require_once('/var/www/mediaw...')
#15 {main}

I updated the Echo extension to the latest version in the REL1_39 branch (7ae3c1059a5f4fd1f96f23fa8674bb1705f5e10d), and it updated the database without the error.

yaronkoren commented 11 months ago

@pastakhov - are you saying just switching to that newer revision would probably fix the problem?

pastakhov commented 11 months ago

Yes, it helped me. But it would be nice to test it again because I ran maintenance/update.php several times.