<?php $table = new DifferentialRevision(); $table->openTransaction(); $table->beginReadLocking(); $conn_w = $table->establishConnection('w'); echo "Migrating revisions"; do { $revisions = $table->loadAllWhere('branchName IS NULL LIMIT 1000'); foreach ($revisions as $revision) { echo "."; $diff = $revision->loadActiveDiff(); if (!$diff) { continue; } $branch_name = $diff->getBranch(); $arc_project_phid = $diff->getArcanistProjectPHID(); queryfx( $conn_w, 'UPDATE %T SET branchName = %s, arcanistProjectPHID = %s WHERE id = %d', $table->getTableName(), $branch_name, $arc_project_phid, $revision->getID()); } } while (count($revisions) == 1000); $table->endReadLocking(); $table->saveTransaction(); echo "\nDone.\n";