コード例 #1
0
<?php

$table = new HeraldCondition();
$conn_w = $table->establishConnection('w');
echo "Migrating Herald conditions of type Herald rule from IDs to PHIDs...\n";
foreach (new LiskMigrationIterator($table) as $condition) {
    if ($condition->getFieldName() != HeraldAdapter::FIELD_RULE) {
        continue;
    }
    $value = $condition->getValue();
    if (!is_numeric($value)) {
        continue;
    }
    $id = $condition->getID();
    echo "Updating condition {$id}...\n";
    $rule = id(new HeraldRuleQuery())->setViewer(PhabricatorUser::getOmnipotentUser())->withIDs(array($value))->executeOne();
    queryfx($conn_w, 'UPDATE %T SET value = %s WHERE id = %d', $table->getTableName(), json_encode($rule->getPHID()), $id);
}
echo "Done.\n";