<?php $table = new HarbormasterBuildPlan(); $conn_w = $table->establishConnection('w'); $viewer = PhabricatorUser::getOmnipotentUser(); // Since HarbormasterBuildStepQuery has been updated to handle the // correct order, we can't use the built in database access. foreach (new LiskMigrationIterator($table) as $plan) { $planname = $plan->getName(); echo pht('Migrating steps in %s...', $planname)."\n"; $rows = queryfx_all( $conn_w, 'SELECT id, sequence FROM harbormaster_buildstep '. 'WHERE buildPlanPHID = %s '. 'ORDER BY id ASC', $plan->getPHID()); $sequence = 1; foreach ($rows as $row) { $id = $row['id']; $existing = $row['sequence']; if ($existing != 0) { echo " - ".pht('%d (already migrated)...', $id)."\n"; continue; } echo " - ".pht('%d to position %s...', $id, $sequence)."\n"; queryfx( $conn_w, 'UPDATE harbormaster_buildstep '. 'SET sequence = %d '. 'WHERE id = %d', $sequence, $id); $sequence++; } } echo pht('Done.')."\n";