mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-28 08:20:57 +01:00
4b10bc2b64
Summary: Ref T13253. Fixes T6615. See that task for discussion. - Remove three keys which serve no real purpose: `dataID` doesn't do anything for us, and the two `leaseOwner` keys are unused. - Rename `leaseOwner_2` to `key_owner`. - Fix an issue where `dataID` was nullable in the active table and non-nullable in the archive table. In practice, //all// workers have data, so all workers have a `dataID`: if they didn't, we'd already fatal when trying to move tasks to the archive table. Just clean this up for consistency, and remove the ancient codepath which imagined tasks with no data. Test Plan: - Ran `bin/storage upgrade`, inspected tables. - Ran `bin/phd debug taskmaster`, worked through a bunch of tasks with no problems. Reviewers: amckinley Reviewed By: amckinley Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13253, T6615 Differential Revision: https://secure.phabricator.com/D20175
21 lines
533 B
PHP
21 lines
533 B
PHP
<?php
|
|
|
|
// See T6615. We're about to change the nullability on the "dataID" column,
|
|
// but it may have a UNIQUE KEY on it. Make sure we get rid of this key first
|
|
// so we don't run into trouble.
|
|
|
|
// There's no "IF EXISTS" modifier for "ALTER TABLE" so run this as a PHP patch
|
|
// instead of an SQL patch.
|
|
|
|
$table = new PhabricatorWorkerActiveTask();
|
|
$conn = $table->establishConnection('w');
|
|
|
|
try {
|
|
queryfx(
|
|
$conn,
|
|
'ALTER TABLE %R DROP KEY %T',
|
|
$table,
|
|
'dataID');
|
|
} catch (AphrontQueryException $ex) {
|
|
// Ignore.
|
|
}
|