[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/resources/sql/patches/ -> migrate-project-edges.php (source)

   1  <?php
   2  
   3  echo "Migrating project members to edges...\n";
   4  $table = new PhabricatorProject();
   5  $table->establishConnection('w');
   6  
   7  foreach (new LiskMigrationIterator($table) as $proj) {
   8    $id = $proj->getID();
   9    echo "Project {$id}: ";
  10  
  11    $members = queryfx_all(
  12      $proj->establishConnection('w'),
  13      'SELECT userPHID FROM %T WHERE projectPHID = %s',
  14      'project_affiliation',
  15      $proj->getPHID());
  16  
  17    if (!$members) {
  18      echo "-\n";
  19      continue;
  20    }
  21  
  22    $members = ipull($members, 'userPHID');
  23  
  24    $editor = new PhabricatorEdgeEditor();
  25    foreach ($members as $user_phid) {
  26      $editor->addEdge(
  27        $proj->getPHID(),
  28        PhabricatorEdgeConfig::TYPE_PROJ_MEMBER,
  29        $user_phid);
  30    }
  31    $editor->save();
  32    echo "OKAY\n";
  33  }
  34  
  35  echo "Done.\n";


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1