mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 18:22:41 +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
|
<?php
|
||||||
|
|
||||||
echo pht('Cleaning up old Herald rule applied rows...')."\n";
|
// Once, this migration deleted some unnecessary rows written by Herald before
|
||||||
$table = new HeraldRule();
|
// January 2012. These rows don't hurt anything, they just cluttered up the
|
||||||
$table->openTransaction();
|
// database a bit.
|
||||||
$table->beginReadLocking();
|
|
||||||
|
|
||||||
$rules = $table->loadAll();
|
// The migration was removed in January 2018 to make maintenance on rule
|
||||||
foreach ($rules as $key => $rule) {
|
// repetition policies easier.
|
||||||
$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";
|
|
||||||
|
|
Loading…
Reference in a new issue