protected function loadPage()
 {
     $table = new PhabricatorAuthSSHKey();
     $conn_r = $table->establishConnection('r');
     $data = queryfx_all($conn_r, 'SELECT * FROM %T %Q %Q %Q', $table->getTableName(), $this->buildWhereClause($conn_r), $this->buildOrderClause($conn_r), $this->buildLimitClause($conn_r));
     return $table->loadAllFromArray($data);
 }
<?php

$table = new PhabricatorAuthSSHKey();
$conn_w = $table->establishConnection('w');
echo pht('Updating SSH public key indexes...') . "\n";
$keys = new LiskMigrationIterator($table);
foreach ($keys as $key) {
    $id = $key->getID();
    echo pht('Updating key %d...', $id) . "\n";
    try {
        $hash = $key->toPublicKey()->getHash();
    } catch (Exception $ex) {
        echo pht('Key has bad format! Removing key.') . "\n";
        queryfx($conn_w, 'DELETE FROM %T WHERE id = %d', $table->getTableName(), $id);
        continue;
    }
    $collision = queryfx_all($conn_w, 'SELECT * FROM %T WHERE keyIndex = %s AND id < %d', $table->getTableName(), $hash, $key->getID());
    if ($collision) {
        echo pht('Key is a duplicate! Removing key.') . "\n";
        queryfx($conn_w, 'DELETE FROM %T WHERE id = %d', $table->getTableName(), $id);
        continue;
    }
    queryfx($conn_w, 'UPDATE %T SET keyIndex = %s WHERE id = %d', $table->getTableName(), $hash, $key->getID());
}
echo pht('Done.') . "\n";
<?php

$table = new PhabricatorAuthSSHKey();
$conn_w = $table->establishConnection('w');
foreach (new LiskMigrationIterator($table) as $cursor) {
    if (strlen($cursor->getPHID())) {
        continue;
    }
    queryfx($conn_w, 'UPDATE %T SET phid = %s WHERE id = %d', $table->getTableName(), $table->generatePHID(), $cursor->getID());
}