From c67e87c8093e415092f4cc07d31aff46c40d5e46 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Dec 2016 10:01:41 -0800 Subject: [PATCH] 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 --- .../autopatches/20161213.diff.01.hunks.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 resources/sql/autopatches/20161213.diff.01.hunks.php diff --git a/resources/sql/autopatches/20161213.diff.01.hunks.php b/resources/sql/autopatches/20161213.diff.01.hunks.php new file mode 100644 index 0000000000..c6394defce --- /dev/null +++ b/resources/sql/autopatches/20161213.diff.01.hunks.php @@ -0,0 +1,38 @@ +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.'));