2013-02-02 01:48:10 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
echo "Migrating Differential unsubscribed users to edges...\n";
|
|
|
|
$table = new DifferentialRevision();
|
|
|
|
$table->openTransaction();
|
|
|
|
|
|
|
|
// We couldn't use new LiskMigrationIterator($table) because the $unsubscribed
|
|
|
|
// property gets deleted.
|
|
|
|
$revs = queryfx_all(
|
|
|
|
$table->establishConnection('w'),
|
|
|
|
'SELECT id, phid, unsubscribed FROM differential_revision');
|
|
|
|
|
|
|
|
foreach ($revs as $rev) {
|
2014-06-09 20:36:49 +02:00
|
|
|
echo '.';
|
2013-02-02 01:48:10 +01:00
|
|
|
|
|
|
|
$unsubscribed = json_decode($rev['unsubscribed']);
|
|
|
|
if (!$unsubscribed) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
$editor = new PhabricatorEdgeEditor();
|
|
|
|
foreach ($unsubscribed as $user_phid => $_) {
|
|
|
|
$editor->addEdge(
|
|
|
|
$rev['phid'],
|
2015-01-03 00:33:25 +01:00
|
|
|
PhabricatorObjectHasUnsubscriberEdgeType::EDGECONST ,
|
2013-02-02 01:48:10 +01:00
|
|
|
$user_phid);
|
|
|
|
}
|
|
|
|
$editor->save();
|
|
|
|
}
|
|
|
|
|
|
|
|
$table->saveTransaction();
|
|
|
|
echo "Done.\n";
|