Changeset View
Changeset View
Standalone View
Standalone View
resources/sql/autopatches/20210715.harborcommand.01.xactions.php
- This file was added.
<?php | |||||
// See T13072. Turn the old "process a command" transaction into modular | |||||
// transactions that each handle one particular type of command. | |||||
$xactions_table = new HarbormasterBuildTransaction(); | |||||
$xactions_conn = $xactions_table->establishConnection('w'); | |||||
$row_iterator = new LiskRawMigrationIterator( | |||||
$xactions_conn, | |||||
$xactions_table->getTableName()); | |||||
$map = array( | |||||
'"pause"' => 'message/pause', | |||||
'"abort"' => 'message/abort', | |||||
'"resume"' => 'message/resume', | |||||
'"restart"' => 'message/restart', | |||||
); | |||||
foreach ($row_iterator as $row) { | |||||
if ($row['transactionType'] !== 'harbormaster:build:command') { | |||||
continue; | |||||
} | |||||
$raw_value = $row['newValue']; | |||||
if (isset($map[$raw_value])) { | |||||
queryfx( | |||||
$xactions_conn, | |||||
'UPDATE %R SET transactionType = %s WHERE id = %d', | |||||
$xactions_table, | |||||
$map[$raw_value], | |||||
$row['id']); | |||||
} | |||||
} |