如何更改CRM 2016中的字段类型

时间:2017-03-27 12:24:44

标签: crm

我们在内部运行CRM 2016 SP1。我们有DEV,QA,Staging和Production环境。我们的DEV,QA和Staging中的解决方案是不受管理的,但在生产管理中。

我们要求在生产环境中将某些字段的数据类型从单行文本更改为多行文本。

我一直在研究这个,并找到了以下链接:

https://debajmecrm.com/2014/04/12/change-field-data-type-in-mscrm-without-dropping-and-recreating-the-field/

https://community.dynamics.com/crm/b/workandstudybook/archive/2014/07/28/converting-single-line-text-to-multi-line-text-using-crm-sdk-s-configuration-migration-tool

Convert Single line text to Multiline text (MS CRM 2016)

根据我对这些页面的理解,我的选择如下:

  1. 直接在数据库中更改字段类型
  2. 使用配置管理器或属性管理器(XrmToolbox)等工具导出数据,删除字段,创建新字段,然后为新字段导回数据。
  3. 选项1要求直接更改数据库,这是我们不愿意做的事情,因为它会导致Microsoft许可问题。

    选项2要求删除旧字段并在每个环境中创建具有相同名称的新字段。这意味着新字段将具有相同的名称,但在每个环境中都具有不同的GUID值。

    我是否正确地假设当我们想要将解决方案从一个环境部署到另一个环境时,选项2将导致错误,因为新字段的GUID不同?

    此外,选项2要求解决方案在所有环境中都不受管理。但是,在我们的案例中,它是在生产中管理的。 考虑到所有这些,我的选择是什么?实现这一目标的最佳方式是什么?

    非常感谢您的评论。

    亲切的问候

1 个答案:

答案 0 :(得分:1)

最简单的方法:

  1. 隐藏表单,视图,报告等中的原始字段

  2. 可选 - 将原始字段设置为不可搜索(因此它不会显示在高级查找中)。

  3. 可选 - 重命名原始字段,以便明确表示不应使用该字段,有人喜欢以“z”为前缀,因此它会显示在列表的底部。

  4. 创建新字段,将其放在与原始字段相同的位置。

  5. 将数据从原始字段迁移到新字段。批量执行的工作流程可以执行,也可以导出,编辑,导入。

  6. 可选 - 删除原始字段。

  7. 就上述选择而言; 1,这是不受支持的(不太可能弄乱您的许可,但很有可能破坏CRM而无法合理恢复)。 2,看起来与我上面的建议相似。