mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 14:00:56 +01:00
b13a51adeb
Summary: See <https://github.com/facebook/phabricator/issues/505>. When the status/event table moved, it broke this migration, which implicitly loads statuses by loading events. Instead, access just the row we care about. Test Plan: Used `--apply` to apply the new version of the patch. Reviewers: btrahan, chad Reviewed By: chad CC: aran Differential Revision: https://secure.phabricator.com/D8162
42 lines
896 B
PHP
42 lines
896 B
PHP
<?php
|
|
|
|
$table = new ManiphestTask();
|
|
$conn_w = $table->establishConnection('w');
|
|
|
|
$user_table = new PhabricatorUser();
|
|
$user_conn = $user_table->establishConnection('r');
|
|
|
|
foreach (new LiskMigrationIterator($table) as $task) {
|
|
$id = $task->getID();
|
|
|
|
echo "Checking task T{$id}...\n";
|
|
$owner_phid = $task->getOwnerPHID();
|
|
|
|
if (!$owner_phid && !$task->getOwnerOrdering()) {
|
|
// No owner and no ordering; we're all set.
|
|
continue;
|
|
}
|
|
|
|
$owner_row = queryfx_one(
|
|
$user_conn,
|
|
'SELECT * FROM %T WHERE phid = %s',
|
|
$user_table->getTableName(),
|
|
$owner_phid);
|
|
|
|
if ($owner_row) {
|
|
$value = $owner_row['userName'];
|
|
} else {
|
|
$value = null;
|
|
}
|
|
|
|
if ($value !== $task->getOwnerOrdering()) {
|
|
queryfx(
|
|
$conn_w,
|
|
'UPDATE %T SET ownerOrdering = %ns WHERE id = %d',
|
|
$table->getTableName(),
|
|
$value,
|
|
$task->getID());
|
|
}
|
|
}
|
|
|
|
echo "Done.\n";
|