mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-26 07:20:57 +01:00
Remove a very old Herald garbage collection migration
Summary: Ref T13048. This migration is from January 2012 and probably only impacted Facebook. It references `HeraldRepetitionPolicyConfig`, which I'd like to change significantly. I initially just replaced the constant with a literal `0`, but I don't think there's any actual value in retaining this migration nowadays. The cost of removing this migration is: if you installed Phabricator before January 2012 and haven't upgraded since then, you'll have a few more rows in the `APPLIED` table than necessary. Herald will still work correctly. Test Plan: Reading. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13048 Differential Revision: https://secure.phabricator.com/D18924
This commit is contained in:
parent
5529458e14
commit
042c43d6d8
1 changed files with 5 additions and 36 deletions
|
@ -1,39 +1,8 @@
|
|||
<?php
|
||||
|
||||
echo pht('Cleaning up old Herald rule applied rows...')."\n";
|
||||
$table = new HeraldRule();
|
||||
$table->openTransaction();
|
||||
$table->beginReadLocking();
|
||||
// Once, this migration deleted some unnecessary rows written by Herald before
|
||||
// January 2012. These rows don't hurt anything, they just cluttered up the
|
||||
// database a bit.
|
||||
|
||||
$rules = $table->loadAll();
|
||||
foreach ($rules as $key => $rule) {
|
||||
$first_policy = HeraldRepetitionPolicyConfig::toInt(
|
||||
HeraldRepetitionPolicyConfig::FIRST);
|
||||
if ($rule->getRepetitionPolicy() != $first_policy) {
|
||||
unset($rules[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$conn_w = $table->establishConnection('w');
|
||||
|
||||
$clause = '';
|
||||
if ($rules) {
|
||||
$clause = qsprintf(
|
||||
$conn_w,
|
||||
'WHERE ruleID NOT IN (%Ld)',
|
||||
mpull($rules, 'getID'));
|
||||
}
|
||||
|
||||
echo pht('This may take a moment')."\n";
|
||||
do {
|
||||
queryfx(
|
||||
$conn_w,
|
||||
'DELETE FROM %T %Q LIMIT 1000',
|
||||
HeraldRule::TABLE_RULE_APPLIED,
|
||||
$clause);
|
||||
echo '.';
|
||||
} while ($conn_w->getAffectedRows());
|
||||
|
||||
$table->endReadLocking();
|
||||
$table->saveTransaction();
|
||||
echo "\n".pht('Done.')."\n";
|
||||
// The migration was removed in January 2018 to make maintenance on rule
|
||||
// repetition policies easier.
|
||||
|
|
Loading…
Reference in a new issue