1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-30 01:10:58 +01:00
phorge-phorge/resources/sql/patches/20130715.votecomments.php

102 lines
2.6 KiB
PHP
Raw Normal View History

<?php
echo pht('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 pht('Migrating comment %d.', $id)."\n";
$poll = id(new PhabricatorSlowvoteQuery())
->setViewer($viewer)
->withIDs(array($poll_id))
->executeOne();
if (!$poll) {
echo pht('No poll.')."\n";
continue;
}
$user = id(new PhabricatorPeopleQuery())
->setViewer($viewer)
->withPHIDs(array($author_phid))
->executeOne();
if (!$user) {
echo pht('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 pht('Done.')."\n";