1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 10:42:41 +01:00
phorge-phorge/resources/sql/patches/20130529.macroauthormig.php
epriestley d63811d319 Store authors on image macros
Summary:
Currently, the author of an image macro is read from the attached file. This is messy and necessitates a join, and is not always correct. Instead, store the data when the macro is created.

This lays the groundwork for generalizing ApplicationSearch here. Ref T2625.

Test Plan: Migrated existing macros, created a new macro, checked web UI.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2625

Differential Revision: https://secure.phabricator.com/D6071
2013-05-29 15:05:44 -07:00

39 lines
796 B
PHP

<?php
echo "Migrating macro authors...\n";
foreach (new LiskMigrationIterator(new PhabricatorFileImageMacro()) as $macro) {
echo "Macro #".$macro->getID()."\n";
if ($macro->getAuthorPHID()) {
// Already have an author; skip it.
continue;
}
if (!$macro->getFilePHID()) {
// No valid file; skip it.
continue;
}
$file = id(new PhabricatorFile())->loadOneWhere(
'phid = %s',
$macro->getFilePHID());
if (!$file) {
// Couldn't load the file; skip it.
continue;
}
if (!$file->getAuthorPHID()) {
// File has no author; skip it.
continue;
}
queryfx(
$macro->establishConnection('w'),
'UPDATE %T SET authorPHID = %s WHERE id = %d',
$macro->getTableName(),
$file->getAuthorPHID(),
$macro->getID());
}
echo "Done.\n";