mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-15 19:32:40 +01:00
48a3760814
Summary: Depends on D20041. See PHI1046. If you do this: - Create a parent project called "Crab" in Space 1. - Create a milestone called "Left Claw". - Shift "Crab" to Space 2. - Create a milestone called "Right Claw". ...you currently end up with "Left Claw" in the wrong `spacePHID` in the database. At the application level it's in the correct space, but when we `WHERE ... AND spacePHID IN (...)` we can incorrectly filter it out. Test Plan: - Did the above setup. - Saved "Crab", saw the space fix itself. - Put things back in the broken state. - Ran the migration script, saw things fix themselves again. Reviewers: amckinley Reviewed By: amckinley Subscribers: aeiser, PHID-OPKG-gm6ozazyms6q6i22gyam Differential Revision: https://secure.phabricator.com/D20063
18 lines
514 B
PHP
18 lines
514 B
PHP
<?php
|
|
|
|
// See PHI1046. The "spacePHID" column for milestones may have fallen out of
|
|
// sync; correct all existing values.
|
|
|
|
$table = new PhabricatorProject();
|
|
$conn = $table->establishConnection('w');
|
|
$table_name = $table->getTableName();
|
|
|
|
foreach (new LiskRawMigrationIterator($conn, $table_name) as $project_row) {
|
|
queryfx(
|
|
$conn,
|
|
'UPDATE %R SET spacePHID = %ns
|
|
WHERE parentProjectPHID = %s AND milestoneNumber IS NOT NULL',
|
|
$table,
|
|
$project_row['spacePHID'],
|
|
$project_row['phid']);
|
|
}
|