通过PHP脚本更改字段长度

时间:2019-06-24 13:10:50

标签: sugarcrm

我想通过数据库和Sugar CRM Studio中的PHP脚本和Sugar bean更改字段长度

1 个答案:

答案 0 :(得分:1)

您的问题非常有用,不会向我们展示您已经尝试过的内容,但是无论如何,我都会尝试一下:

自定义字段

Studio将自定义字段保存在 DynamicFields Bean中,这些字段保存在fields_meta_data表的数据库中。该字段的ID为模块名称+字段名称,例如Accountstests_c用于字段test_c

一种更改方法是通过更新表中的len列,然后运行快速修复和重建(请参见下面的注释)。

或者,您可以使用 DynamicFields bean或使用类似于Studio的方式使用ModuleBuilder的PHP控制器来调整字段(稍后我将尝试添加示例)。

库存字段

您可以使用Vardefs-Extensions来调整字段的长度。

例如如果要将模块len中的varchar字段name的长度(vardef属性Accounts)更改为100:

./custom/Extension/modules/Accounts/Ext/Vardefs/sugarfield_name.php

<?php
$dictionary['Account']['fields']['name']['len'] = 100;

注释

  • 运行Quick Repair & Rebuild,您的更改将应用​​于Sugar和Studio。然后向下滚动并运行建议的数据库更改。 如果要在没有用户交互的情况下执行此操作,请查找或编写sugarcrm修复脚本。
  • 在创建新的Vardef扩展时,请确保将 BeanName 用于字典数组索引,因此对于Account使用Accounts,对于Cases使用aCase。如果不确定要使用什么,只需查看有问题的模块的现有vardefs文件是如何做的。
  • 有关可用的vardefs属性名称以及对vardefs的更多了解,请参见here或查看vardefs.php子文件夹中的modules/文件。