1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-23 23:32:40 +01:00
phorge-phorge/resources/sql/autopatches/20140211.dx.2.migcommenttext.php

72 lines
1.9 KiB
PHP
Raw Normal View History

2014-02-11 20:34:15 +01:00
<?php
$conn_w = id(new DifferentialRevision())->establishConnection('w');
$rows = new LiskRawMigrationIterator($conn_w, 'differential_comment');
$content_source = PhabricatorContentSource::newForSource(
PhabricatorContentSource::SOURCE_LEGACY,
array())->serialize();
echo "Migrating Differential comment text to modern storage...\n";
foreach ($rows as $row) {
$id = $row['id'];
echo "Migrating Differential comment {$id}...\n";
if (!strlen($row['content'])) {
echo "Comment has no text, continuing.\n";
continue;
}
$revision = id(new DifferentialRevision())->load($row['revisionID']);
if (!$revision) {
echo "Comment has no valid revision, continuing.\n";
continue;
}
$revision_phid = $revision->getPHID();
$dst_table = 'differential_inline_comment';
$xaction_phid = PhabricatorPHID::generateNewPHID(
PhabricatorApplicationTransactionTransactionPHIDType::TYPECONST,
DifferentialRevisionPHIDType::TYPECONST);
2014-02-11 20:34:15 +01:00
$comment_phid = PhabricatorPHID::generateNewPHID(
PhabricatorPHIDConstants::PHID_TYPE_XCMT,
DifferentialRevisionPHIDType::TYPECONST);
2014-02-11 20:34:15 +01:00
queryfx(
$conn_w,
'INSERT IGNORE INTO %T
(phid, transactionPHID, authorPHID, viewPolicy, editPolicy,
commentVersion, content, contentSource, isDeleted,
dateCreated, dateModified, revisionPHID, changesetID,
legacyCommentID)
VALUES (%s, %s, %s, %s, %s,
%d, %s, %s, %d,
%d, %d, %s, %nd,
%d)',
'differential_transaction_comment',
// phid, transactionPHID, authorPHID, viewPolicy, editPolicy
$comment_phid,
$xaction_phid,
$row['authorPHID'],
'public',
$row['authorPHID'],
// commentVersion, content, contentSource, isDeleted
1,
$row['content'],
$content_source,
0,
// dateCreated, dateModified, revisionPHID, changesetID, legacyCommentID
$row['dateCreated'],
$row['dateModified'],
$revision_phid,
null,
$row['id']);
}
echo "Done.\n";