mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 18:52:42 +01:00
e76499bbbb
Summary: Fixes T5245. Migrate old TYPE_PROJECTS transaction to new style edge transactions. Kill remaining rendering code. Test Plan: issued some fun queries to get some old-style transaction in my install: ``` // go from nothing to 1 INSERT INTO maniphest_transaction (phid, authorPHID, objectPHID, viewPolicy, editPolicy, commentVersion, transactionType, oldValue, newValue, contentSource, metadata, dateCreated, dateModified) VALUES ('PHID-XACT-TASK-000000000000000', 'PHID-USER-zo35vxnoi4bxqak6yqhc', 'PHID-TASK-hb5wphctibxxqryo6ssi', 'users', 'users', 0, 'projects', '[]', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx"]', '', '{}', 1419274578, 1419274578) // go from 1 to 2 INSERT INTO maniphest_transaction (phid, authorPHID, objectPHID, viewPolicy, editPolicy, commentVersion, transactionType, oldValue, newValue, contentSource, metadata, dateCreated, dateModified) VALUES ('PHID-XACT-TASK-111111111111111', 'PHID-USER-zo35vxnoi4bxqak6yqhc', 'PHID-TASK-hb5wphctibxxqryo6ssi', 'users', 'users', 0, 'projects', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx"]', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx", "PHID-PROJ-a7giqlyyfirqswg6gn6x"]', '', '{}', 1419274580, 1419274580) // swap 1 for 1 with 2 in set INSERT INTO maniphest_transaction (phid, authorPHID, objectPHID, viewPolicy, editPolicy, commentVersion, transactionType, oldValue, newValue, contentSource, metadata, dateCreated, dateModified) VALUES ('PHID-XACT-TASK-222222222222222', 'PHID-USER-zo35vxnoi4bxqak6yqhc', 'PHID-TASK-hb5wphctibxxqryo6ssi', 'users', 'users', 0, 'projects', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx", "PHID-PROJ-a7giqlyyfirqswg6gn6x"]', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx", "PHID-PROJ-cety4gr55gpxzhwtrkhx"]', '', '{}', 1419274582, 1419274582) // go from 2 to 1 INSERT INTO maniphest_transaction (phid, authorPHID, objectPHID, viewPolicy, editPolicy, commentVersion, transactionType, oldValue, newValue, contentSource, metadata, dateCreated, dateModified) VALUES ('PHID-XACT-TASK-333333333333333', 'PHID-USER-zo35vxnoi4bxqak6yqhc', 'PHID-TASK-hb5wphctibxxqryo6ssi', 'users', 'users', 0, 'projects', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx", "PHID-PROJ-cety4gr55gpxzhwtrkhx"]', '["PHID-PROJ-4teaxbjk5okv7mdz2qlx"]', '', '{}', 1419274584, 1419274584) ``` took a screenshot. ran the migration script and compared the screenshots and things looked correctly migrated...! old style: {F255408} new style: {F255407} Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T5245 Differential Revision: https://secure.phabricator.com/D11032
48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
|
|
$table = new ManiphestTransaction();
|
|
$conn_w = $table->establishConnection('w');
|
|
|
|
echo "Converting Maniphest project transactions to modern EDGE ".
|
|
"transactions...\n";
|
|
$metadata = array(
|
|
'edge:type' => PhabricatorProjectObjectHasProjectEdgeType::EDGECONST,);
|
|
foreach (new LiskMigrationIterator($table) as $txn) {
|
|
// ManiphestTransaction::TYPE_PROJECTS
|
|
if ($txn->getTransactionType() == 'projects') {
|
|
$old_value = mig20141222_build_edge_data(
|
|
$txn->getOldValue(),
|
|
$txn->getObjectPHID());
|
|
$new_value = mig20141222_build_edge_data(
|
|
$txn->getNewvalue(),
|
|
$txn->getObjectPHID());
|
|
queryfx(
|
|
$conn_w,
|
|
'UPDATE %T SET '.
|
|
'transactionType = %s, oldValue = %s, newValue = %s, metaData = %s '.
|
|
'WHERE id = %d',
|
|
$table->getTableName(),
|
|
PhabricatorTransactions::TYPE_EDGE,
|
|
json_encode($old_value),
|
|
json_encode($new_value),
|
|
json_encode($metadata),
|
|
$txn->getID());
|
|
}
|
|
}
|
|
|
|
echo "Done.\n";
|
|
|
|
function mig20141222_build_edge_data(array $project_phids, $task_phid) {
|
|
$edge_data = array();
|
|
foreach ($project_phids as $project_phid) {
|
|
if (!is_scalar($project_phid)) {
|
|
continue;
|
|
}
|
|
$edge_data[$project_phid] = array(
|
|
'src' => $task_phid,
|
|
'type' => PhabricatorProjectObjectHasProjectEdgeType::EDGECONST,
|
|
'dst' => $project_phid,
|
|
);
|
|
}
|
|
return $edge_data;
|
|
}
|