![如何改变 SugarCRM CE 中表的结构?](https://linux22.com/image/1412965/%E5%A6%82%E4%BD%95%E6%94%B9%E5%8F%98%20SugarCRM%20CE%20%E4%B8%AD%E8%A1%A8%E7%9A%84%E7%BB%93%E6%9E%84%EF%BC%9F.png)
我如何向机会表中添加字段以便它们能够传播?
我在里面Studio > Opportunities > Fields
添加了字段。抱歉,我不明白下一步该怎么做才能改变数据库结构和用于创建和查看机会的 GUI。
模块可用的字段按字段名称在此处列出。
要配置字段的属性,请单击字段名称。
要创建新字段,请单击添加字段。创建后,可以通过单击字段名称来编辑新字段的标签以及其他属性。
模块部署后,在 Module Builder 中创建的新字段将被视为 Studio 中部署模块中的标准字段。
然而,底层数据库没有改变:
mysql>
mysql> describe sugarcrm.opportunities;
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| id | char(36) | NO | PRI | NULL | |
| name | varchar(50) | YES | MUL | NULL | |
| date_entered | datetime | YES | | NULL | |
| date_modified | datetime | YES | | NULL | |
| modified_user_id | char(36) | YES | | NULL | |
| created_by | char(36) | YES | | NULL | |
| description | text | YES | | NULL | |
| deleted | tinyint(1) | YES | | 0 | |
| assigned_user_id | char(36) | YES | MUL | NULL | |
| opportunity_type | varchar(255) | YES | | NULL | |
| campaign_id | char(36) | YES | | NULL | |
| lead_source | varchar(50) | YES | | NULL | |
| amount | double | YES | | NULL | |
| amount_usdollar | double | YES | | NULL | |
| currency_id | char(36) | YES | | NULL | |
| date_closed | date | YES | | NULL | |
| next_step | varchar(100) | YES | | NULL | |
| sales_stage | varchar(255) | YES | | NULL | |
| probability | double | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
19 rows in set (0.00 sec)
mysql>
在“创建机会”时,GUI 中也不会出现附加字段。
我需要做什么才能使我创建的字段Studio
真正被创建,不仅在数据库中,而且在 SugarCRM 界面中?
我当然不需要深入研究 PHP 了?
答案1
如果我理解正确的话,您问的是怎样更改 Sugar CRM 界面以拥有自定义字段。
由于我自己正在学习界面,我已经在案例页面上为 JIRA 票号添加了一个新字段,并且它也显示在数据库中。我将尝试将您谈论的字段添加到通信部分,然后引导您完成每个部分的使用。
如果您不懂技术,这时您可能想带您的技术伙伴出去吃午饭,然后让他们帮助您完成这项工作。这需要对数据库的工作方式和用户界面有功能上的理解。
我正在使用实用程序 vm 运行带有 php 管理数据库客户端的 SugarCRM CE 6.5.17。我建议您找到一个好的 SQL 客户端,它允许您查看底层数据库并针对它运行搜索。
指数
- 登录
- 将字段添加到 sugarCRM 的可用组件中
- 更改 Web 表单以包含新字段
- 在 SugarCRM 中创建新的数据记录
- 查找我们的数据!
- 如何随时随地查找新数据。
脚步
以管理员身份登录 SygarCRM CE 系统。
将字段添加到 sugarCRM 的可用组件中
- 管理员 -> 工作室 -> 机会 -> 字段 -> 添加字段
- 字段名称:New_Field
- 最大尺寸:30
- (其余部分保留,因为一些字段将自动填写)
- 点击“保存”
更改 Web 表单以包含新字段
- 管理员 -> 工作室 -> 机会 -> 布局 -> EditView
- 将“新行”框从“工具”拖到“描述”下的“布局”部分
- 找到我们刚刚创建的字段。它应该被称为新字段。
- 将该字段从工具箱拖到布局部分,其中存在第一个称为(填充符)的框。
- 您现在应该会注意到(填充)标签框发生了变化,因为它应该被称为“新字段”,左侧有一个 + 或 - 符号图标。这会调整字段右侧的列数。(玩弄图标以了解)
- 单击保存并部署
创造你的新机会
- 销售 -> 机会 -> 创造机会
- 注意:“新字段”应位于描述后第一部分的底部。(或您放置它的位置)
- 通过填写必填字段来创建新的机会
- 当您需要填写“新字段”时,我们将使用唯一的名称来允许数据库搜索
- 输入唯一名称:AAA_XX_193rnafl93ra
- (如果这还不够独特,请创建您自己的独特名称)
- 输入唯一名称:AAA_XX_193rnafl93ra
- 点击“保存”
查找我们的数据!
- 以管理员身份登录 sugarcrm 数据库(我使用 phpMyAdmin,因为我在开发人员虚拟机上)
- 我们正在寻找一个名为fields_meta_data的表
- 查询此表,您会注意到刚刚添加的新字段及其描述性数据已存在。最有可能称为 LBL_NEW_FIELD。它有一个日期戳,因此您也可以按 date_modified 搜索表并筛选出今天。
- 该表很可能还会有一个名为 Opportunitiesnew_field_c 的 id 列
这是在步骤 2 中创建的元数据
我们现在寻找存储在新字段中的数据。
- 带有后缀“_cstm”的表(如 Opportunities_ctsm)很可能包含自定义字段。
- 查询 Opportunities_ctsm 表,你应该注意到我们的字段名称存在于此处
- 我在我的 Opportunities_ctsm 表中看到一个 new_field_c,它包含以下值:AAA_XX_193rnafl93ra
- 请记下 id_c 列,因为它成为我们可以在 id 字段上重新加入到机会表的点。
如何随时随地查找新数据。
- 那么为什么我们使用“AAA_XX_193rnafl93ra”作为我们的唯一字符串?
- 我们可以搜索整个 sugarcrm 数据库,在每个字段中查找该值,以找到它存储在哪个表中。
- 在 phpMyAdmin 中,这很简单,只需单击网页顶部面包屑路径中的数据库名称即可。
- 本地主机 -> Sugarcrm (数据库)
- 单击数据库表列表上方的搜索选项卡
- 输入以下搜索字符串:AAA_XX_193rnafl93ra
- 选择所有表格
- 点击“前往”
- 使用 [ctrl] F 在网页上搜索“浏览”,因为它将显示在找到该项目的表格旁边
- 进入表格你应该会发现新字段被放置在何处。
- 如果您没有 phpMyAdmin,请了解如何对整个数据库进行内容搜索,或者让您的 DBA 打开发送到数据库的 SQL 的日志记录并搜索您的唯一名称。Oracle 具有可以执行此操作的日志记录功能。
- 简而言之,我们创建了一个跟踪设备,使您能够快速浏览数据库以找到发生的变化。
- 创建开发环境将大大改善搜索时间,因为数据库大部分是空的。
- 那么为什么我们使用“AAA_XX_193rnafl93ra”作为我们的唯一字符串?
现在您应该在数据库中有一个新的数据点,并且在 sugarCRM 表单上有新的字段。
看起来,构建 sugar 系统的人做得很好,因为他们将基表与新字段分开。这样,当您升级到较新版本时,问题就会减少。因为基表可以完全重构,只要它仍包含“id”列,它就可以与您的自定义字段连接。