Summary: Ref T5655. Rename `PhabricatorPHIDType` subclasses for clarity (see discussion in D9839). I'm not too keen on some of the resulting class names, so feel free to suggest alternatives. Test Plan: Ran unit tests. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin, hach-que Maniphest Tasks: T5655 Differential Revision: https://secure.phabricator.com/D9986
		
			
				
	
	
		
			48 lines
		
	
	
		
			994 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			994 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
$diff_table = new DifferentialDiff();
 | 
						|
$conn_w = $diff_table->establishConnection('w');
 | 
						|
 | 
						|
$size = 1000;
 | 
						|
 | 
						|
$row_iter = id(new LiskMigrationIterator($diff_table))->setPageSize($size);
 | 
						|
$chunk_iter = new PhutilChunkedIterator($row_iter, $size);
 | 
						|
 | 
						|
foreach ($chunk_iter as $chunk) {
 | 
						|
  $sql = array();
 | 
						|
 | 
						|
  foreach ($chunk as $diff) {
 | 
						|
    $id = $diff->getID();
 | 
						|
    echo "Migrating diff ID {$id}...\n";
 | 
						|
 | 
						|
    $phid = $diff->getPHID();
 | 
						|
    if (strlen($phid)) {
 | 
						|
      continue;
 | 
						|
    }
 | 
						|
 | 
						|
    $type_diff = DifferentialDiffPHIDType::TYPECONST;
 | 
						|
    $new_phid = PhabricatorPHID::generateNewPHID($type_diff);
 | 
						|
 | 
						|
    $sql[] = qsprintf(
 | 
						|
      $conn_w,
 | 
						|
      '(%d, %s)',
 | 
						|
      $id,
 | 
						|
      $new_phid);
 | 
						|
  }
 | 
						|
 | 
						|
  if (!$sql) {
 | 
						|
    continue;
 | 
						|
  }
 | 
						|
 | 
						|
  foreach (PhabricatorLiskDAO::chunkSQL($sql, ', ') as $sql_chunk) {
 | 
						|
    queryfx(
 | 
						|
      $conn_w,
 | 
						|
      'INSERT IGNORE INTO %T (id, phid) VALUES %Q
 | 
						|
        ON DUPLICATE KEY UPDATE phid = VALUES(phid)',
 | 
						|
      $diff_table->getTableName(),
 | 
						|
      $sql_chunk);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
echo "Done.\n";
 |