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
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
echo "Moving Slowvote comments to transactions...\n";
 | 
						|
 | 
						|
$viewer = PhabricatorUser::getOmnipotentUser();
 | 
						|
 | 
						|
$table_xaction = new PhabricatorSlowvoteTransaction();
 | 
						|
$table_comment = new PhabricatorSlowvoteTransactionComment();
 | 
						|
$conn_w = $table_xaction->establishConnection('w');
 | 
						|
 | 
						|
$comments = new LiskRawMigrationIterator($conn_w, 'slowvote_comment');
 | 
						|
 | 
						|
$conn_w->openTransaction();
 | 
						|
 | 
						|
foreach ($comments as $comment) {
 | 
						|
  $id = $comment['id'];
 | 
						|
  $poll_id = $comment['pollID'];
 | 
						|
  $author_phid = $comment['authorPHID'];
 | 
						|
  $text = $comment['commentText'];
 | 
						|
  $date_created = $comment['dateCreated'];
 | 
						|
  $date_modified = $comment['dateModified'];
 | 
						|
 | 
						|
  echo "Migrating comment {$id}.\n";
 | 
						|
 | 
						|
  $poll = id(new PhabricatorSlowvoteQuery())
 | 
						|
    ->setViewer($viewer)
 | 
						|
    ->withIDs(array($poll_id))
 | 
						|
    ->executeOne();
 | 
						|
  if (!$poll) {
 | 
						|
    echo "No poll.\n";
 | 
						|
    continue;
 | 
						|
  }
 | 
						|
 | 
						|
  $user = id(new PhabricatorPeopleQuery())
 | 
						|
    ->setViewer($viewer)
 | 
						|
    ->withPHIDs(array($author_phid))
 | 
						|
    ->executeOne();
 | 
						|
  if (!$user) {
 | 
						|
    echo "No user.\n";
 | 
						|
    continue;
 | 
						|
  }
 | 
						|
 | 
						|
  $comment_phid = PhabricatorPHID::generateNewPHID(
 | 
						|
    PhabricatorPHIDConstants::PHID_TYPE_XCMT);
 | 
						|
  $xaction_phid = PhabricatorPHID::generateNewPHID(
 | 
						|
    PhabricatorApplicationTransactionTransactionPHIDType::TYPECONST,
 | 
						|
    PhabricatorSlowvotePollPHIDType::TYPECONST);
 | 
						|
 | 
						|
  $source = PhabricatorContentSource::newForSource(
 | 
						|
    PhabricatorContentSource::SOURCE_LEGACY,
 | 
						|
    array())->serialize();
 | 
						|
 | 
						|
  queryfx(
 | 
						|
    $conn_w,
 | 
						|
    'INSERT INTO %T (phid, transactionPHID, authorPHID, viewPolicy, editPolicy,
 | 
						|
        commentVersion, content, contentSource, isDeleted,
 | 
						|
        dateCreated, dateModified)
 | 
						|
      VALUES (%s, %s, %s, %s, %s,
 | 
						|
        %d, %s, %s, %d,
 | 
						|
        %d, %d)',
 | 
						|
    $table_comment->getTableName(),
 | 
						|
    $comment_phid,
 | 
						|
    $xaction_phid,
 | 
						|
    $user->getPHID(),
 | 
						|
    PhabricatorPolicies::POLICY_PUBLIC,
 | 
						|
    $user->getPHID(),
 | 
						|
    1,
 | 
						|
    $text,
 | 
						|
    $source,
 | 
						|
    0,
 | 
						|
    $date_created,
 | 
						|
    $date_modified);
 | 
						|
 | 
						|
  queryfx(
 | 
						|
    $conn_w,
 | 
						|
    'INSERT INTO %T (phid, authorPHID, objectPHID, viewPolicy, editPolicy,
 | 
						|
        commentPHID, commentVersion, transactionType, oldValue, newValue,
 | 
						|
        contentSource, metadata, dateCreated, dateModified)
 | 
						|
      VALUES (%s, %s, %s, %s, %s,
 | 
						|
        %s, %d, %s, %s, %s,
 | 
						|
        %s, %s, %d, %d)',
 | 
						|
    $table_xaction->getTableName(),
 | 
						|
    $xaction_phid,
 | 
						|
    $user->getPHID(),
 | 
						|
    $poll->getPHID(),
 | 
						|
    PhabricatorPolicies::POLICY_PUBLIC,
 | 
						|
    $user->getPHID(),
 | 
						|
    $comment_phid,
 | 
						|
    1,
 | 
						|
    PhabricatorTransactions::TYPE_COMMENT,
 | 
						|
    null,
 | 
						|
    null,
 | 
						|
    $source,
 | 
						|
    '{}',
 | 
						|
    $date_created,
 | 
						|
    $date_modified);
 | 
						|
}
 | 
						|
 | 
						|
$conn_w->saveTransaction();
 | 
						|
 | 
						|
echo "Done.\n";
 |