mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 01:02:42 +01:00
48a74de0b6
Summary: Ref T2543. This updates and migrates the status change transactions: - All storage now records the modern modular transaction ("differential.revision.status"), not the obsolete non-modular transaction ("differential:status"). - All storage now records the modern constants ("accepted"), not the obsolete numeric values ("2"). Test Plan: - Selected all the relevant rows before/after migration, data looked sane. - Browsed around, reviewed timelines, no changes after migration. - Changed revision states, saw appropriate new transactions in the database and timeline rendering. - Grepped for `differential:status`. Reviewers: chad Reviewed By: chad Maniphest Tasks: T2543 Differential Revision: https://secure.phabricator.com/D18419
38 lines
850 B
PHP
38 lines
850 B
PHP
<?php
|
|
|
|
$map = array(
|
|
'0' => 'needs-review',
|
|
'1' => 'needs-revision',
|
|
'2' => 'accepted',
|
|
'3' => 'published',
|
|
'4' => 'abandoned',
|
|
'5' => 'changes-planned',
|
|
);
|
|
|
|
$table = new DifferentialTransaction();
|
|
$conn = $table->establishConnection('w');
|
|
|
|
foreach (new LiskMigrationIterator($table) as $xaction) {
|
|
$type = $xaction->getTransactionType();
|
|
|
|
if (($type != 'differential:status') &&
|
|
($type != 'differential.revision.status')) {
|
|
continue;
|
|
}
|
|
|
|
$old = $xaction->getOldValue();
|
|
$new = $xaction->getNewValue();
|
|
|
|
$old = idx($map, $old, $old);
|
|
$new = idx($map, $new, $new);
|
|
|
|
queryfx(
|
|
$conn,
|
|
'UPDATE %T SET transactionType = %s, oldValue = %s, newValue = %s
|
|
WHERE id = %d',
|
|
$table->getTableName(),
|
|
'differential.revision.status',
|
|
json_encode($old),
|
|
json_encode($new),
|
|
$xaction->getID());
|
|
}
|