mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 14:00:56 +01:00
0558d53273
Summary: Ref T3794. Drop auxiliary field, use standard field. Test Plan: Performed migration, field seemed to survive it intact. Edited and viewed tasks. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T3794 Differential Revision: https://secure.phabricator.com/D7036
66 lines
1.4 KiB
PHP
66 lines
1.4 KiB
PHP
<?php
|
|
|
|
echo "Migrating Maniphest custom field configuration...\n";
|
|
|
|
$old_key = 'maniphest.custom-fields';
|
|
$new_key = 'maniphest.custom-field-definitions';
|
|
|
|
if (PhabricatorEnv::getEnvConfig($new_key)) {
|
|
echo "Skipping migration, new data is already set.\n";
|
|
return;
|
|
}
|
|
|
|
$old = PhabricatorEnv::getEnvConfigIfExists($old_key);
|
|
if (!$old) {
|
|
echo "Skipping migration, old data does not exist.\n";
|
|
return;
|
|
}
|
|
|
|
$new = array();
|
|
foreach ($old as $field_key => $spec) {
|
|
$new_spec = array();
|
|
|
|
foreach ($spec as $key => $value) {
|
|
switch ($key) {
|
|
case 'label':
|
|
$new_spec['name'] = $value;
|
|
break;
|
|
case 'required':
|
|
case 'default':
|
|
case 'caption':
|
|
case 'options':
|
|
$new_spec[$key] = $value;
|
|
break;
|
|
case 'checkbox-label':
|
|
$new_spec['strings']['edit.checkbox'] = $value;
|
|
break;
|
|
case 'checkbox-value':
|
|
$new_spec['strings']['view.yes'] = $value;
|
|
break;
|
|
case 'type':
|
|
switch ($value) {
|
|
case 'string':
|
|
$value = 'text';
|
|
break;
|
|
case 'user':
|
|
$value = 'users';
|
|
$new_spec['limit'] = 1;
|
|
break;
|
|
}
|
|
$new_spec['type'] = $value;
|
|
break;
|
|
case 'copy':
|
|
$new_spec['copy'] = $value;
|
|
break;
|
|
}
|
|
}
|
|
|
|
$new[$field_key] = $new_spec;
|
|
}
|
|
|
|
PhabricatorConfigEntry::loadConfigEntry($new_key)
|
|
->setIsDeleted(0)
|
|
->setValue($new)
|
|
->save();
|
|
|
|
echo "Done.\n";
|