将标准数据模型站点迁移到增强型数据模型(预览)

[本主题是预发行文档,有可能会有所更改。]

在本文中,了解如何将现有的标准数据模型站点迁移到增强型数据模型。

重要提示

  • 此功能是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。

先决条件

步骤 1. 下载并检查现有标准站点元数据的定制

  1. 打开命令提示符。

  2. 使用以下命令对您的 Power Platform 环境的 Dataverse 组织进行身份验证,以下载针对迁移的网站记录。

    pac auth create -u [Dataverse URL]

    示例

    pac auth create -u https://contoso-org.crm.dynamics.com

    更多信息:pac auth create

  3. 使用以下命令生成当前组织中的网站列表。

    pac powerpages list

    更多信息:pac powerpages list

  4. 使用以下命令下载定制报告。

    pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --siteCustomizationReportPath [PATH]

    示例

    pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --siteCustomizationReportPath "c:\\pac-powerpages\\downloads"

如果您在下载的报告中发现任何自定义内容,请按照报告中的指导在迁移到增强型数据模型后进行修复。 更多信息:将站点从标准数据模型迁移到增强型数据模型时站点定制的注意事项

步骤 2. 将站点数据从标准数据模型迁移到增强型数据模型

使用以下命令将您的站点数据迁移到增强型数据模型。

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] –-mode [type-of-data]

模式可能有 3 个值:

示例

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e –-mode all

迁移工具可验证解决方案。 如果存在一个标准数据模型解决方案,但没有针对上述模板的相应增强型数据模型解决方案,则会显示一条警告:Found template <template-name>. One of the prerequisite for migrate needs Enchanged data model template

一些特定的模板,如计划注册、安排和管理会议,需要匹配的增强型数据模型包来确保迁移后的网站正常运行。 要获得这些增强型数据模型包,您必须为相应的模板创建一个新站点(应为增强型数据模型启用环境),以提供与增强型数据模型兼容的迁移解决方案。

迁移的支持模板

具有以下模板的网站支持迁移:

  • 初始布局 1-5
  • 应用程序处理
  • 空白页
  • 计划注册
  • 安排和管理会议

步骤 3. 验证迁移状态

使用以下命令验证您站点的迁移状态:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --checkMigrationStatus

示例

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --checkMigrationStatus

备注

如果您的站点迁移花费的时间比预期的长,可能是因为数据量太大。 如果您的命令提示符关闭,请打开一个新的命令提示符,并使用此步骤中的命令来验证您站点的状态。

步骤 4. 数据迁移成功后更新站点数据模型版本

使用以下命令更新站点数据模型版本:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --updateDatamodelVersion --portalId [Portal-GUID]

备注

  • 您可以通过导航到网址后附加 '/_services/about' 的网站来查找门户 id。 为了查看这些选项,用户应具有分配了所有网站访问权限的 web 角色。
  • 更新站点数据模型版本后,链接到标准数据模型的网站记录将被停用。 相反,站点现在将引用与增强型数据模型相关联的网站记录。
  • 用户应具有以下角色之一,才能执行带有 updateDatamodelVersionrevertToStandardDataModel 参数的迁移命令。 因为这将执行管理操作,将您的站点切换到增强型数据模型,反之亦然。

示例

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --updateDatamodelVersion --portalId 04435d71-c45a-4a05-9702-8f127559e48e

将迁移的网站从增强型数据模型恢复到标准数据模型

使用以下命令在迁移后将标准数据模型站点恢复为增强型数据模型:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --revertToStandardDataModel --portalId [Portal-GUID]

备注

当您将已迁移的站点从增强型数据模型切换回标准数据模型时,与增强型数据模型相关联的网站记录将被停用,而标准数据模型的网站记录将被重新激活。

示例

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --revertToStandardDataModel --portalId 07f35d71-c45a-4a05-9702-8f127559e48e

将生产站点从标准数据模型迁移到增强型数据模型

在迁移生产站点之前,我们建议创建生产站点的完整拷贝。 我们还建议在非营业时间进行生产站点迁移。

使用以下步骤将生产站点迁移到增强型数据模型:

  1. 使用 PAC CLI migrate-datamodel 命令在复制环境中的站点上尝试迁移。
  2. 将站点配置数据添加到托管解决方案并导入生产环境。
  3. 使用 PAC CLI 命令迁移非配置数据,并通过更新生产数据模型版本来完成迁移。

备注

对于迁移,源网站 id 和生产网站 id 相同。

将站点从标准数据模型迁移到增强型数据模型时站点定制的注意事项

本部分为从标准数据模型到增强型数据模型的站点迁移提供修复自定义的指导。

adx 元数据表上有五种类型的网站自定义:

备注

所有与自定义相关的修复都将在迁移到增强型数据模型后完成。

adx 元数据表上的自定义列

若要在增强型数据模型中修复此自定义,请在系统表和新的自定义表之间创建一个关系,并将数据迁移到新表中。

标准数据模型: 表中 adx_webpage 包含一个自定义列 as contoso_pagetype

增强数据模型: 新建名为 contoso_webpage. 这将包括一个名为 contoso_pagetype 的列和一个与 powerpagescomponent 相关联的查找列 contoso_webpage_id。 利用数据工作空间创建表格。

在增强型数据模型中创建 contoso_webpage 表以修复代码

自定义表和 adx 表之间的关系

若要在增强型数据模型中修复此自定义,请在自定义表和系统表之间创建关系。

标准数据模型: 该表与 adx_webpage 该表 adx_webpage_contoso_pagelogs 具有命名 contoso_pagelogs 的关系。

增强的数据模型: 创建与 powerpagecomponent_contoso_pagelogs 表命名 contoso_webpage 的新关系。 利用数据工作空间创建表格。

liquid 代码片段中的 Adx 表引用

要在增强型数据模型中修复此自定义,将 liquid 代码中的 adx 表引用替换为增强型数据模型虚拟表 mspp 引用。 或者,您可以使用站点组件(逻辑名称 powerpagecomponent)表和组件类型(逻辑名称 powerpagecomponenttype)属性来检索相应的引用。

Standard data model:entities liquid tag 用于访问 代码中的 weblinks {% assign app_weblinks= entities['adx_weblinks'] %} 值。

增强的数据模型: 使用相应的 entities liquid 对象 ,而不是通过liquid 标签使用 weblink。 entities[adx_weblinks] 径直。 在这种情况下,entities['adx_weblinks'] 可以替换为 weblinks Liquid 对象。

fetch xml 中的 Adx 表引用

若要在增强型数据模型中修复此自定义,将 fetch xml 中的 adx 表引用替换为增强型数据模型虚拟表直接引用。 或者,您可以使用站点组件(逻辑名称 powerpagecomponent)表和组件类型(逻辑名称 powerpagecomponenttype)属性来检索相应的引用。

标准数据模型: 表名 adx_webrole 在 fetch xml 查询中使用。

{% fetchxml app_webroles %}
<fetch>
 <entity name='adx_webrole'>
  <attribute name='adx_name'/>
 <entity>
</fetch>
{% endfetchxml %}

增强的数据模型: 将 Site Component (逻辑名称 )与 powerpagecomponentComponent Type (logical name )属性结合使用 powerpagecomponenttype,以检索相应的引用。

{% fetchxml app_webroles %}
<fetch>
 <entity name='powerpagecomponent'>
  <attribute name='adx_name'/>
  <filter type='and'>
   <condition attribute ='powerpagecomponenttype' operator ='eq' value ='11'/>
  <entity>
</fetch>
{% endfetchxml %}

站点组件类型和值

组件类型 价值
发布状态 1
网页 2
Web 文件 3
Web 链接集 4
Web 链接 5
页面模板 6
内容片段 7
Web 模板 8
站点设置 9
网页访问控制规则 10
Web 角色 11
网站访问 12
站点标记 13
基本窗体 15
基本窗体元数据 16
列出 17
表权限 18
高级窗体 19
高级窗体步骤 20
高级窗体元数据 21
投票位置 24
广告放置 26
机器人消费者 27
列权限配置文件 28
列权限 29
重定向 30
发布状态转换规则 31
快捷方式 32
云端流 33
UX 组件 34

adx 表上的自定义工作流和插件

要在增强型数据模型中修复此自定义,需要重构工作流和插件逻辑,并在网站的相应表中重新注册。

例如,如果用户将工作流/插件作为标准数据模型中的网页(逻辑名称 adx_webpage)表注册到主要实体,则必须将工作流/插件中的代码修改为增强型数据模型的站点组件(逻辑名称 powerpagecomponent)表及其属性。

将工作流中的站点组件表及其属性用于增强型数据模型

已知问题

迁移命令只处理从标准数据模型到增强型数据模型的一批 5K 记录。