protected function loadPage()
 {
     $table = new HarbormasterBuildPlan();
     $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 HarbormasterBuildPlan();
$conn_w = $table->establishConnection('w');
$view_policy = PhabricatorPolicies::getMostOpenPolicy();
queryfx($conn_w, 'UPDATE %T SET viewPolicy = %s WHERE viewPolicy = %s', $table->getTableName(), $view_policy, '');
$edit_policy = id(new PhabricatorHarbormasterApplication())->getPolicy(HarbormasterCreatePlansCapability::CAPABILITY);
queryfx($conn_w, 'UPDATE %T SET editPolicy = %s WHERE editPolicy = %s', $table->getTableName(), $edit_policy, '');
<?php

$plan_table = new HarbormasterBuildPlan();
$step_table = new HarbormasterBuildStep();
$conn_w = $plan_table->establishConnection('w');
foreach (new LiskMigrationIterator($plan_table) as $plan) {
    echo pht("Migrating build plan %d: %s...\n", $plan->getID(), $plan->getName());
    // Load all build steps in order using the step sequence.
    $steps = queryfx_all($conn_w, 'SELECT id FROM %T WHERE buildPlanPHID = %s ORDER BY sequence ASC;', $step_table->getTableName(), $plan->getPHID());
    $previous_step = null;
    foreach ($steps as $step) {
        $id = $step['id'];
        $loaded_step = id(new HarbormasterBuildStep())->load($id);
        $depends_on = $loaded_step->getDetail('dependsOn');
        if ($depends_on !== null) {
            // This plan already contains steps with depends_on set, so
            // we skip since there's nothing to migrate.
            break;
        }
        if ($previous_step === null) {
            $depends_on = array();
        } else {
            $depends_on = array($previous_step->getPHID());
        }
        $loaded_step->setDetail('dependsOn', $depends_on);
        queryfx($conn_w, 'UPDATE %T SET details = %s WHERE id = %d', $step_table->getTableName(), json_encode($loaded_step->getDetails()), $loaded_step->getID());
        $previous_step = $loaded_step;
        echo pht("  Migrated build step %d.\n", $loaded_step->getID());
    }
}