aboutsummaryrefslogtreecommitdiffstats
path: root/maintenance/migrateUserGroup.php
Commit message (Collapse)AuthorAgeFilesLines
* add `use MediaWiki\Maintenance\Maintenance` to some maintenance classesNovem Linguae2024-12-041-0/+1
| | | | | | | | | | | | | F–P. Still need to do P–Z. there's a couple spots where I added `use MediaWiki\Maintenance\LoggedUpdateMaintenance;` or similar instead. some of the existing "use" blocks were in weird spots (e.g. above the copyright docblock, or too far down). i didn't move those because they are out of scope for this patch. Change-Id: I5b6a8f3eae5be85d67bccfcce31c0c2027850f45
* Exclude boilerplate maintenance code from code coverage reportsDreamy Jazz2024-08-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Why: * Maintenance scripts in core have bolierplate code that is added before and after the class to allow directly running the maintenance script. * Running the maintenance script directly has been deprecated since 1.40, so this boilerplate code is only to support a now deprecated method of running maintenance scripts. * This code cannot also be marked as covered, due to PHPUnit not recognising code coverage for files. * Therefore, it is best to ignore this boilerplate code in code coverage reports as it cannot be marked as covered and also is for deprecated code. What: * Wrap the boilerplate code (requiring Maintenance.php and then later defining the maintenance script class and running if the maintenance script was called directly) with @codeCoverageIgnore comments. * Some files use a different boilerplate code, however, these should also be marked as ignored for coverage for the same reason that coverage is not properly reported for files. Bug: T371167 Change-Id: I32f5c6362dfb354149a48ce9c28da9a7fc494f7c
* Test migrateUserGroup.phpDreamy Jazz2024-07-281-14/+33
| | | | | | | | | | | | | | | | | | | Why: * The maintenance scripts in core are mostly untested and testing the less complex scripts will improve the test coverage in core. * The migrateUserGroup.php maintenance script has a few bugs which were found by testing the script, and are fixed. What: * Add an integration test for migrateUserGroup.php * Fix the maintenance script to: ** Correctly report the number of affected users (instead of affected rows) ** Clear the cache in the UserGroupManager when a batch is performed. Bug: T371167 Change-Id: Ibd4c82332cbe83b7c5576a9e3bce6a99fa15c240
* Use expression builder to avoid raw sql via BETWEEN operatorUmherirrender2024-04-211-3/+6
| | | | | | Replace BETWEEN with >= and <= operator Change-Id: Ic21b6f4cc11c773c967d9d4c5f20e762c2ff9629
* maintenance: Introduce getReplicaDB() and getPrimaryDB()Amir Sarabadani2024-01-181-1/+1
| | | | | | | | | | | | And start using them instead of wfGetDB(), LB/LBF connection methods or worse, $this->getDB(). $this->getDB() reuses the database object regardless of whether you're calling a replica or primary, leading to returning a replica on a primary and other way around. Bug: T330641 Change-Id: I9e2cf85ca277022284fc26b9f37db57bd12aaa81
* Migrate some usages of Database::update() to UpdateQueryBuilderAlexander Vorwerk2024-01-171-7/+9
| | | | | Bug: T353219 Change-Id: I98bf4c2e2c3023fba226ac10826e52a1108b8aea
* maintenance: Migrate to DeleteQueryBuilderAmir Sarabadani2024-01-021-5/+7
| | | | | Bug: T353219 Change-Id: Iecb55ab3f905ee9ed4e32e9cbb58c36f8cacf669
* Merge "maintenance: Migrate another batch to SelectQueryBuilder"jenkins-bot2023-09-211-9/+18
|\
| * maintenance: Migrate another batch to SelectQueryBuilderAmir Sarabadani2023-09-211-9/+18
| | | | | | | | | | | | | | Around fifty-ish. Found becuase of fixed MigrateSelect. Bug: T344971 Change-Id: If85428d5a033822bfd8ee1f6ab730863bfad55bd
* | Namespace User under \MediaWiki\UserJames D. Forrester2023-09-191-0/+2
|/ | | | | Bug: T166010 Change-Id: I7257302b485588af31384d4f7fc8e30551f161f1
* Replace uses of DB_MASTER with DB_PRIMARYJames D. Forrester2021-04-291-1/+1
| | | | | | Just an auto-replace from codesniffer for now. Change-Id: I5240dc9ac5929d291b0ef1c743ea2bfd3f428266
* Remove wfWaitForSlaves when using Maintenance::commitTransactionUmherirrender2018-02-261-1/+0
| | | | | | | Maintenance::commitTransaction is calling waitForReplication already. No need to wait a second time, hopefully the lags are 0 already. Change-Id: Id457ed2cdd6bfd9663665ba0cd5c4e3dd640b738
* Use ::class to resolve class names in maintenance scriptsUmherirrender2018-01-231-1/+1
| | | | | | | This helps to find renamed or misspelled classes earlier. Phan will check the class names Change-Id: I1d4567f47f93eb1436cb98558388e48d35258666
* Cast block start to int in maintenace SQLPhantom422017-12-081-3/+3
| | | | | Bug: T182209 Change-Id: Ic2dbbacdf0a77b8ac531cff8e11be0da8014e083
* Maintenance: add fatalError() methodBryan Davis2017-11-211-1/+1
| | | | | | | | Deprecate the second argument to Maintenance::error() in favor of a new Maintenance::fatalError() method. This is intended to make it easier to review flow control in maintenance scripts. Change-Id: I75699008638f7e99b11210c7bb9e2e131fca7c9e
* Introduce Maintenance::getBatchSize()Max Semenik2017-11-051-4/+5
| | | | | | Just to isolate the internals. Fix most of usages in the core. Change-Id: I8b3e9ca1f42b7c49ee57f17b88ca2fc7b404f342
* maintenance: Replace implicit Bugzilla bug numbers with Phab onesJames D. Forrester2017-02-211-1/+1
| | | | | | | | | It's unreasonable to expect newbies to know that "bug 12345" means "Task T14345" except where it doesn't, so let's just standardise on the real numbers. This includes renaming fixBug20757.php to fixT22757.php for similar consistency. Change-Id: If81a590d658fbd82c20c54ac47dfdc8856745ca3
* Convert all array() syntax to []Kunal Mehta2016-02-171-10/+10
| | | | | | | | | | Per wikitech-l consensus: https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html Notes: * Disabled CallTimePassByReference due to false positives (T127163) Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
* Use addDescription() instead of accessing mDescription directlyMax Semenik2016-01-301-1/+1
| | | | Change-Id: I0e2aa83024b8abf5298cfea4b21bf45722ad3103
* Update wfGetDB calls in Maintenance scripts to use getDB()Reedy2016-01-021-1/+1
| | | | Change-Id: I9ad6745d84506b736dae94747256caac89715899
* Clean up transactions in maintenance scriptsAaron Schulz2015-12-301-2/+2
| | | | | | | | | | | | | | | Add transaction methods to complement getDB(). This makes it easy to grep for direct begin()/commit() calls to IDatabase by having script use their own wrapper. Maintenance scripts are one of the few places that can (and need to) use begin/commit instead of the start/end atomic methods. Eventually, there should be almost no direct callers and those methods can be made stricter about throwing errors on nested calls. Change-Id: Ibbfc7a77c0d2a55f7fc2261087f6c3a19061e0aa
* phpcs: More require/include is not a functionTimo Tijhof2013-05-211-1/+1
| | | | | | | | | | | | | Follows-up I1343872de7, Ia533aedf63 and I2df2f80b81. Also updated usage in text in documentation and the installer LocalSettingsGenerator. Most of them were handled by this regex: - find: (require|include|require_once|include_once)\s*\(\s*(.+?)\s*\)\s*;$ - replace: $1 $2; Change-Id: I6b38aad9a5149c9c43ce18bd8edbab14b8ce43fa
* phpcs: Fix WhiteSpace.LanguageConstructSpacing warningsTimo Tijhof2013-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Squiz.WhiteSpace.LanguageConstructSpacing: Language constructs must be followed by a single space; expected "require_once expression" but found "require_once(expression)" It is a keyword (e.g. like `new`, `return` and `print`). As such the parentheses don't make sense. Per our code conventions, we use a space after keywords like these. We appeared to have an unwritten exception for `require` that doesn't make sense. About 60% of require/include usage was missing the space and/or had superfluous parentheses. It is as silly as print("foo") or return("foo"), it works because keywords have no significance for whitespace between it and the expression that follows, and since experessions can be wrapped in parentheses for clarity (e.g. when doing string concatenation or mathematical operations) the parenthesis before and after basiclaly just ignored. Change-Id: I2df2f80b8123714bea7e0771bf94b51ad5bb4b87
* (bug 40340) Fix cache issues with changing user groupsTimo Tijhof2012-12-281-3/+28
| | | | | | | | | | | | | | | | | * migrateUserGroup.php: Call User::invalidateCache * While at it, also fix the issue where User::clearInstanceCache did not clear cache for User::getGroups. Although it does clear the caches of methods used to calculate other group-related lists (such as User::getEffectiveGroups), the one for the query from user_groups was still cached in $this->mGroups. Presumably this was forgotten when this pattern was introduced as the instance cache precedes the user_group table. Change-Id: I22abdba00f8ccf587a3d7696e57970ed4653afc8
* Merge "Update migrateUserGroup to deal with primary key issue"Demon2012-08-301-1/+9
|\
| * Update migrateUserGroup to deal with primary key issueMark A. Hershberger2012-06-291-1/+9
| | | | | | | | | | | | | | | | Update migrateUserGroup so that if a user is in both the old group and the new group, the script still succeeds. Otherwise, it will fail with violations to the PRIMARY KEY index on the user_groups table. Change-Id: I7bfda03f5735633d03b81092dad29d73293cd182
* | Use __DIR__ instead of dirname( __FILE__ )jeroendedauw2012-08-271-1/+1
| | | | | | | | | | | | We can now do this since we finally switched to PHP 5.3 for MW 1.20 and get rid of the silly dirname(__FILE__) stuff :) Change-Id: Id9b2c9cd2e678197aa81c78adced5d1d31ff57b1
* | Improve documentation of maintenance scripts.Alexandre Emsenhuber2012-07-251-0/+6
|/ | | | Change-Id: I93e80edcfc3dc2d5630f7514808cafc22daf39f7
* More __METHOD__ in our madnessSam Reed2012-02-241-2/+2
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/112339
* Merge r86398 into the old wfWaitForSlaves. Update core calls.Platonides2011-04-201-1/+1
| | | | | | | | | | maintenance/waitForSlave.php still calls the old prototype. Most instances were replaced with sed -i 's/wfWaitForSlaves( [0-9]* );/wfWaitForSlaves();/' ./maintenance/initEditCount.php ./maintenance/updateRestrictions.php ./maintenance/updateSpecialPages.php ./maintenance/importDump.php ./maintenance/moveBatch.php ./maintenance/storage/resolveStubs.php ./maintenance/storage/trackBlobs.php ./maintenance/storage/fixBug20757.php ./maintenance/storage/moveToExternal.php ./maintenance/storage/compressOld.inc ./maintenance/populateSha1.php ./maintenance/deleteDefaultMessages.php ./maintenance/migrateUserGroup.php ./maintenance/importImages.php ./maintenance/runJobs.php ./maintenance/archives/upgradeLogging.php ./maintenance/deleteBatch.php ./maintenance/populateLogSearch.php ./maintenance/populateLogUsertext.php ./maintenance/gearman/gearmanWorker.php ./maintenance/populateRevisionLength.php ./maintenance/refreshLinks.php ./maintenance/deleteSelfExternals.php ./maintenance/upgrade1_5.php ./maintenance/rebuildFileCache.php ./includes/job/RefreshLinksJob.php ./includes/installer/MysqlUpdater.php ./maintenance/convertUserOptions.php ./maintenance/populateParentId.php ./maintenance/runBatchedQuery.php ./maintenance/upgrade1_5.php ./maintenance/waitForSlave.php ./maintenance/populateCategory.php ./maintenance/importImages.php Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/86447
* Fix concern raised by Brion in r74108 (but has really existed since the ↵Chad Horohoe2011-01-131-1/+1
| | | | | | | | | | | maintenance rewrite). Right now, including a maintenance script causes it to execute. This is bad when you want to reuse the particular class but not have it start executing all by itself. Until now, we relied on setting MW_NO_SETUP which was a) hacky, b) irreversable, and c) likely to be forgotten if you didn't use one of the wrappers like runChild(). Instead, move the freaky magic to doMaintenance and have *it* check if it's in a specific call stack that indicates this is being run from the file scope and should be executed. Rename DO_MAINTENANCE to RUN_MAINTENANCE_IF_MAIN so it's nice and clear what magic happens behind the require_once(). Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/80205
* Stylize maintenance folder..Sam Reed2010-05-221-7/+7
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/66751
* * svn:eol-style nativeAlexandre Emsenhuber2009-09-071-70/+70
| | | | | | | * svn:mime-type image/svg+xml on extensions/LiquidThreads/icons/quote.svg Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/55923
* May as well use the master for start/end pointsAaron Schulz2009-09-011-4/+3
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/55735
* Added a script to move users from one group to anotherAaron Schulz2009-09-011-0/+71
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/55729