1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-27 16:00:59 +01:00
phorge-phorge/resources/sql/patches/20130919.mfieldconf.php
epriestley 0558d53273 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
2013-09-19 11:56:15 -07:00

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";