From 042c43d6d8435d38506f3f88326978c42f74233b Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 24 Jan 2018 19:12:48 -0800 Subject: [PATCH] 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 --- resources/sql/patches/102.heraldcleanup.php | 41 +++------------------ 1 file changed, 5 insertions(+), 36 deletions(-) diff --git a/resources/sql/patches/102.heraldcleanup.php b/resources/sql/patches/102.heraldcleanup.php index 5b885bd670..f7f58131ea 100644 --- a/resources/sql/patches/102.heraldcleanup.php +++ b/resources/sql/patches/102.heraldcleanup.php @@ -1,39 +1,8 @@ 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. -- 2.51.2