1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 10:42:41 +01:00
phorge-phorge/resources/sql/autopatches/20150904.herald.1.sql
epriestley 76665f725b Correct a bad Herald migration
Summary:
One of the migrations in rPa335004a91 (`20150730.herald.5.sql`) incorrectly swapped "add" and "add blocking" Differential Herald rules.

Swap any rules last modified before this patch was applied back. This is the best we can do without possibly overwriting more recent, intentional data. I'll issue some guidance on this in the changelog.

Test Plan:
  - Made a rule, ran patch, no change.
  - Changed rule modified time to a few months ago, ran patch, saw swap from non-blocking to blocking.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D14061
2015-09-04 15:11:25 -07:00

52 lines
2 KiB
SQL

/* The "20150730.herald.5.sql" patch incorrectly swapped blocking and
non-blocking "Add Reviewer" rules. This swaps back any rules which
were last modified before the patch was applied. */
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.blocking.tmp'
WHERE a.action = 'differential.reviewers.add'
AND r.dateModified <=
(SELECT applied FROM {$NAMESPACE}_meta_data.patch_status
WHERE patch = 'phabricator:20150730.herald.5.sql');
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.add'
WHERE a.action = 'differential.reviewers.blocking'
AND r.dateModified <=
(SELECT applied FROM {$NAMESPACE}_meta_data.patch_status
WHERE patch = 'phabricator:20150730.herald.5.sql');
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.blocking'
WHERE a.action = 'differential.reviewers.blocking.tmp';
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.self.blocking.tmp'
WHERE a.action = 'differential.reviewers.self.add'
AND r.dateModified <=
(SELECT applied FROM {$NAMESPACE}_meta_data.patch_status
WHERE patch = 'phabricator:20150730.herald.5.sql');
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.self.add'
WHERE a.action = 'differential.reviewers.self.blocking'
AND r.dateModified <=
(SELECT applied FROM {$NAMESPACE}_meta_data.patch_status
WHERE patch = 'phabricator:20150730.herald.5.sql');
UPDATE {$NAMESPACE}_herald.herald_action a
JOIN {$NAMESPACE}_herald.herald_rule r
ON a.ruleID = r.id
SET a.action = 'differential.reviewers.self.blocking'
WHERE a.action = 'differential.reviewers.self.blocking.tmp';