Convert maniphest to use standard fields
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
This commit is contained in:
66
resources/sql/patches/20130919.mfieldconf.php
Normal file
66
resources/sql/patches/20130919.mfieldconf.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?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";
|
||||
Reference in New Issue
Block a user