1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-18 03:20:59 +01:00

Force hunk storage migration to the modern format

Summary:
Ref T8475. This forces installs to migrate hunks to the modern format.

We stopped writing to the legacy format a very long time ago (2+ years?) without issues.

This doesn't destroy any data. T8623 has guidance and I'll publish more changelog guidance.

Test Plan: Faked some legacy data and migrated it.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T8475

Differential Revision: https://secure.phabricator.com/D17039
This commit is contained in:
epriestley 2016-12-13 10:01:41 -08:00
parent fc6bfbdb10
commit c67e87c809

View file

@ -0,0 +1,38 @@
<?php
$conn = id(new DifferentialRevision())->establishConnection('w');
$src_table = 'differential_hunk';
$dst_table = 'differential_hunk_modern';
echo tsprintf(
"%s\n",
pht('Migrating old hunks...'));
foreach (new LiskRawMigrationIterator($conn, $src_table) as $row) {
queryfx(
$conn,
'INSERT INTO %T
(changesetID, oldOffset, oldLen, newOffset, newLen,
dataType, dataEncoding, dataFormat, data,
dateCreated, dateModified)
VALUES
(%d, %d, %d, %d, %d,
%s, %s, %s, %s,
%d, %d)',
$dst_table,
$row['changesetID'],
$row['oldOffset'],
$row['oldLen'],
$row['newOffset'],
$row['newLen'],
DifferentialModernHunk::DATATYPE_TEXT,
'utf8',
DifferentialModernHunk::DATAFORMAT_RAW,
$row['changes'],
$row['dateCreated'],
$row['dateModified']);
}
echo tsprintf(
"%s\n",
pht('Done.'));