我在旧版本的SugarCRM中删除了几百个自定义字段。通过网络界面删除是非常耗费人力的......
可以通过删除安装中的文件(vardefs,其他任何东西吗?)
来直接完成这类似于[之前提出的问题](revert the custom fields made by sugarCRM),但是通过在几个字段中使用网络界面解决了这个问题。
我可以轻松编写脚本然后从{table_name} _cstm表中删除字段......
答案 0 :(得分:1)
您可以尝试类似的东西(应该像在入口点和管理员用户一样在SugarCRM环境中执行)
$fieldsByModule = array(
'Accounts' => array(
'field_1_c',
'field_2_c',
),
'Contacts' => array(
'field_1_c',
'field_2_c',
),
);
require_once('modules/DynamicFields/DynamicField.php');
foreach ($fieldsByModule as $moduleName => $fields) {
foreach($fields as $field){
$dyField = new DynamicField();
$dyField->bean = BeanFactory::getBean($moduleName);;
$dyField->module = $moduleName;
$dyField->deleteField($field);
}
}
实时编码而不测试代码,但过程的核心应该接近这样。