【问题标题】:How to change a field's type in CRM 2016如何在 CRM 2016 中更改字段的类型
【发布时间】:2017-03-27 12:24:43
【问题描述】:

我们正在本地运行 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) 等工具导出数据、删除字段、创建新字段以及为新字段导入数据。

选项 1 需要直接更改数据库,这是我们宁愿不做的事情,因为它会导致 Microsoft 许可问题。

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

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

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

非常感谢您的 cmets。

亲切的问候

【问题讨论】:

    标签: crm


    【解决方案1】:

    最简单的方法:

    1. 从表单、视图、报告等中隐藏原始字段。

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

    3. 可选 - 重命名原始字段,以便明确不应该使用它,人们喜欢在列表底部添加前缀“z”。

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

    5. 将数据从原始字段迁移到新字段。批量执行的工作流可以做,或者可能是导出、编辑、导入。

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

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

    【讨论】:

    • 几个问题: 1. 这是你自己做的吗?如果有遇到什么问题? 2. 如果这听起来很傻,请原谅(因为我对 CRM 比较陌生)。使用您的解决方案,我假设我不必在每个环境中进行更改,即手动隐藏/删除字段(因为新字段的新名称与旧字段不同)。那么我是否正确地假设,一旦我进行了更改并创建并运行了将数据导入新文件的工作流,我只需要将解决方案导入其他环境?
    • 1.是的,经常发生,没什么大不了的。最大的问题可能是要更新的数据量,例如如果您有数百万条记录。 2. 是的,将您的更改转移到解决方案中,无需手动执行此操作。
    • 非常感谢詹姆斯。最后一个问题:依赖于旧字段的多个视图怎么样?如何一次性自动更新这些视图,以便它们使用新字段?
    • 从根本上说,您必须单独更新每一个,XrmToolbox 中有一个视图复制器工具可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多