mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-18 21:02:41 +01:00
d63811d319
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
39 lines
796 B
PHP
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";
|