diff options
author | Hannah Okwelum <hokwelum@wikimedia.org> | 2025-02-06 09:38:52 +0000 |
---|---|---|
committer | Krinkle <krinkle@fastmail.com> | 2025-02-13 01:55:18 +0000 |
commit | 4e456415b62a6bcb1ab54a36fe26e8af3a55478f (patch) | |
tree | a37c957dc644f6774b98f21887ebff95796640d8 /maintenance | |
parent | 1f845afa8a3bbb21fda78d02a83addfe511e9063 (diff) | |
download | mediawikicore-4e456415b62a6bcb1ab54a36fe26e8af3a55478f.tar.gz mediawikicore-4e456415b62a6bcb1ab54a36fe26e8af3a55478f.zip |
ResourceLoader: Remove module_deps table
No longer used. see T343492
Bug: T379661
Change-Id: I6b3d51995452f77b5da86b0cf32a23b12c7c669c
Diffstat (limited to 'maintenance')
-rw-r--r-- | maintenance/cleanupRemovedModules.php | 86 | ||||
-rw-r--r-- | maintenance/purgeModuleDeps.php | 78 |
2 files changed, 0 insertions, 164 deletions
diff --git a/maintenance/cleanupRemovedModules.php b/maintenance/cleanupRemovedModules.php deleted file mode 100644 index 189c69002a6e..000000000000 --- a/maintenance/cleanupRemovedModules.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -/** - * Remove cache entries for removed ResourceLoader modules from the database. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Maintenance - * @author Roan Kattouw - */ - -use MediaWiki\Maintenance\Maintenance; -use Wikimedia\Rdbms\IDatabase; - -// @codeCoverageIgnoreStart -require_once __DIR__ . '/Maintenance.php'; -// @codeCoverageIgnoreEnd - -/** - * Maintenance script to remove cache entries for removed ResourceLoader modules - * from the database. - * - * @ingroup Maintenance - */ -class CleanupRemovedModules extends Maintenance { - - public function __construct() { - parent::__construct(); - $this->addDescription( - 'Remove cache entries for removed ResourceLoader modules from the database' ); - $this->setBatchSize( 500 ); - } - - public function execute() { - $this->output( "Cleaning up module_deps table...\n" ); - - $dbw = $this->getPrimaryDB(); - $rl = $this->getServiceContainer()->getResourceLoader(); - $moduleNames = $rl->getModuleNames(); - $res = $dbw->newSelectQueryBuilder() - ->select( [ 'md_module', 'md_skin' ] ) - ->from( 'module_deps' ) - ->where( $moduleNames ? $dbw->expr( 'md_module', '!=', $moduleNames ) : [] ) - ->caller( __METHOD__ ) - ->fetchResultSet(); - $rows = iterator_to_array( $res, false ); - - $modDeps = $dbw->tableName( 'module_deps' ); - $i = 1; - foreach ( array_chunk( $rows, $this->getBatchSize() ) as $chunk ) { - // WHERE ( mod=A AND skin=A ) OR ( mod=A AND skin=B) .. - $conds = array_map( static function ( stdClass $row ) use ( $dbw ) { - return $dbw->makeList( (array)$row, IDatabase::LIST_AND ); - }, $chunk ); - $conds = $dbw->makeList( $conds, IDatabase::LIST_OR ); - - $this->beginTransaction( $dbw, __METHOD__ ); - $dbw->query( "DELETE FROM $modDeps WHERE $conds", __METHOD__ ); - $numRows = $dbw->affectedRows(); - $this->output( "Batch $i: $numRows rows\n" ); - $this->commitTransaction( $dbw, __METHOD__ ); - - $i++; - } - - $this->output( "Done\n" ); - } -} - -// @codeCoverageIgnoreStart -$maintClass = CleanupRemovedModules::class; -require_once RUN_MAINTENANCE_IF_MAIN; -// @codeCoverageIgnoreEnd diff --git a/maintenance/purgeModuleDeps.php b/maintenance/purgeModuleDeps.php deleted file mode 100644 index 090aac4edbc2..000000000000 --- a/maintenance/purgeModuleDeps.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Maintenance - */ - -use MediaWiki\Maintenance\Maintenance; -use Wikimedia\Rdbms\IDatabase; - -// @codeCoverageIgnoreStart -require_once __DIR__ . '/Maintenance.php'; -// @codeCoverageIgnoreEnd - -/** - * Maintenance script to purge the module_deps database cache table for ResourceLoader. - * - * @ingroup Maintenance - * @ingroup ResourceLoader - */ -class PurgeModuleDeps extends Maintenance { - public function __construct() { - parent::__construct(); - $this->addDescription( - 'Remove all cache entries for ResourceLoader modules from the database' ); - $this->setBatchSize( 500 ); - } - - public function execute() { - $this->output( "Cleaning up module_deps table...\n" ); - - $dbw = $this->getPrimaryDB(); - $res = $dbw->newSelectQueryBuilder() - ->select( [ 'md_module', 'md_skin' ] ) - ->from( 'module_deps' ) - ->caller( __METHOD__ )->fetchResultSet(); - $rows = iterator_to_array( $res, false ); - - $modDeps = $dbw->tableName( 'module_deps' ); - $i = 1; - foreach ( array_chunk( $rows, $this->getBatchSize() ) as $chunk ) { - // WHERE ( mod=A AND skin=A ) OR ( mod=A AND skin=B) .. - $conds = array_map( static function ( stdClass $row ) use ( $dbw ) { - return $dbw->makeList( (array)$row, IDatabase::LIST_AND ); - }, $chunk ); - $conds = $dbw->makeList( $conds, IDatabase::LIST_OR ); - - $this->beginTransaction( $dbw, __METHOD__ ); - $dbw->query( "DELETE FROM $modDeps WHERE $conds", __METHOD__ ); - $numRows = $dbw->affectedRows(); - $this->output( "Batch $i: $numRows rows\n" ); - $this->commitTransaction( $dbw, __METHOD__ ); - - $i++; - } - - $this->output( "Done\n" ); - } -} - -// @codeCoverageIgnoreStart -$maintClass = PurgeModuleDeps::class; -require_once RUN_MAINTENANCE_IF_MAIN; -// @codeCoverageIgnoreEnd |