如何在环境之间导出和导入 Dataverse 选择

How to Export and Import Dataverse Choices between Environments

我们正在尝试将托管解决方案从 Power Automate 开发环境导出到单独的生产环境。在导入解决方案时它抱怨:

"Import failed due to missing dependencies"

然后列出缺少的依赖项,它们都是 Choice 列(示例):

additionalOcSignerYN cr3b4_additionalocsigneryn Choice MVV (AdditionalOcSignerYN) Column

我可以在导出的解决方案 zip 中看到它没有包含选择列数据(简单 Yes\No)。

然后我安装并尝试使用 Common Data Service 配置迁移工具来迁移解决方案所依赖的数据。我已经从解决方案创建了一个架构,导出了数据,然后尝试导入它。由于缺少 Choice 列,它也无法导入。在架构中,我注意到引用全局选择架构的字段已包含在内,但未包含选择。

<entities >
  <entity name="cr3b4_mvv" displayname="MVV" etc="10121" primaryidfield="cr3b4_mvvid" primarynamefield="cr3b4_mvvname" disableplugins="false">
    <fields>
      <field displayname="AdditionalOcSignerYN" name="cr3b4_additionalocsigneryn" type="optionsetvalue" customfield="true" />
    </fields>
  </entity>
</entities>

我考虑过在生产中手动重新创建全局选择,但也注意到它会创建新的字段前缀,即“cr3b4_”会有所不同,因此会破坏导入。

请问如何将引用全局选择的解决方案从一个环境导出和导入到另一个环境?

您是否尝试过使用“添加所需组件”按钮将其添加到解决方案中? 配置迁移工具,不会将模式更新添加到另一个环境仅数据。

当您想要将选择列添加到一个解决方案并将其导入另一个解决方案时,您只需将该列和选择添加到您的解决方案。

例如,我创建了一个解决方案“解决方案 1”,其中我添加了“帐户”table,创建了一个新的选择列“YN new choice”并创建了一个新的全局选择选项“YN new全球选择

然后,我使用不同的发布商创建了“解决方案 2”,并在我使用“解决方案 1”中创建的列的帐户主窗体中添加了一些自定义设置

如果我尝试导出“解决方案 2”并将其导入到新环境中,我会收到错误消息,因为在表单中使用了选择列,但该列和选择并未添加到解决方案中。如您所见,仅在解决方案中包含该列是不够的。

所以,你有两个选择:

  1. 手动添加缺少的组件
  2. 使用“添加所需组件”按钮

对于选项 1,您必须手动跟踪和添加每个组件。如果它是选择列和选项,请转到包含该列的 table。如果 table 不是您的解决方案的一部分,您将必须添加它(例如,如果您有一个视图引用相关 table 中的该列)。

导航到“列”并单击“添加子组件”

搜索选择列并将其添加到解决方案中

接下来,我们需要添加选项。在您的解决方案中,select“全部”选项并单击“添加现有”

然后转到“更多”并单击“选择”

搜索选项并将其添加到解决方案

对于选项 2。

请注意,此“添加必需的组件”有时会添加比您可能想要的组件更多的组件(例如,来自另一个解决方案的组件,您已经在产品中导入并希望保持分离)

Select解决方案中的组件,然后点击“添加所需组件”,一段时间后,它会自动添加依赖项。

您已经添加了表单的依赖项,但现在您需要为选择列添加依赖项,select 然后单击“添加所需组件”

同样,几秒钟后您应该会看到“选择”组件已自动添加。

现在,您可以再次将您的解决方案导出为托管,然后导入到其他环境中。

如果有帮助,请告诉我。