[本主题是预发行文档,有可能会有所更改。]
在本文中,了解如何将现有的标准数据模型站点迁移到增强型数据模型。
重要提示
- 此功能是一项预览功能。
- 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。
先决条件
- 您必须安装版本为 1.31.6 或更高版本的 Microsoft Power Platform CLI 才能将您的站点迁移到增强型数据模型。 更多信息:安装最新的 Power Platform CLI
- Dataverse 基础门户软件包 9.3.2307.x 或更高版本。
- Power Pages 核心软件包 1.0.2309.63 或更高版本。 更多信息:更新 Power Pages 解决方案
- 您需要了解如何使用 Power Pages中的 Power Platform CLI 来完成迁移步骤。 如果您不熟悉 Power Pages 中的 Power Platform CLI,您可能需要查看本 Power Platform CLI 教程,并参考 PAC CLI 命令以使用 Power Pages。
- 对于在 管理模式下设置的环境,请启用后台操作。
步骤 1. 下载并检查现有标准站点元数据的定制
打开命令提示符。
使用以下命令对您的 Power Platform 环境的 Dataverse 组织进行身份验证,以下载针对迁移的网站记录。
pac auth create -u [Dataverse URL]示例
pac auth create -u https://contoso-org.crm.dynamics.com更多信息:pac auth create
使用以下命令生成当前组织中的网站列表。
pac pages list详细信息: pac 页面列表
使用以下命令下载定制报告。
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --siteCustomizationReportPath [PATH]示例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --siteCustomizationReportPath "c:\\pac-powerpages\\downloads"
如果您在下载的报告中发现任何自定义内容,请按照报告中的指导在迁移到增强型数据模型后进行修复。 更多信息:将站点从标准数据模型迁移到增强型数据模型时站点定制的注意事项
步骤 2. 将站点数据从标准数据模型迁移到增强型数据模型
使用以下命令将您的站点数据迁移到增强型数据模型。
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] –-mode [type-of-data]
模式可能有 3 个值:
configurationData:迁移网站的元数据。 更多信息:存储配置数据的表列表
configurationDataReferences:迁移网站的交易数据。 更多信息:存储非配置数据的表列表
全部:迁移两种类型的数据。
示例
pac pages 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 pages migrate-datamodel --webSiteId [WebSiteId-GUID] --checkMigrationStatus
示例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --checkMigrationStatus
备注
如果您的站点迁移花费的时间比预期的长,可能是因为数据量太大。 如果您的命令提示符关闭,请打开一个新的命令提示符,并使用此步骤中的命令来验证您站点的状态。
步骤 4. 数据迁移成功后更新站点数据模型版本
使用以下命令更新站点数据模型版本:
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --updateDatamodelVersion --portalId [Portal-GUID]
备注
- 您可以通过导航到网址后附加 '/_services/about' 的网站来查找门户 id。 为了查看这些选项,用户应具有分配了所有网站访问权限的 web 角色。
- 更新站点数据模型版本后,链接到标准数据模型的网站记录将被停用。 相反,站点现在将引用与增强型数据模型相关联的网站记录。
- 用户应具有以下角色之一,才能执行带有
updateDatamodelVersion或revertToStandardDataModel参数的迁移命令。 因为这将执行管理操作,将您的站点切换到增强型数据模型,反之亦然。
示例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --updateDatamodelVersion --portalId 04435d71-c45a-4a05-9702-8f127559e48e
将迁移的网站从增强型数据模型恢复到标准数据模型
使用以下命令在迁移后将标准数据模型站点恢复为增强型数据模型:
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --revertToStandardDataModel --portalId [Portal-GUID]
备注
当您将已迁移的站点从增强型数据模型切换回标准数据模型时,与增强型数据模型相关联的网站记录将被停用,而标准数据模型的网站记录将被重新激活。
示例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --revertToStandardDataModel --portalId 07f35d71-c45a-4a05-9702-8f127559e48e
将生产站点从标准数据模型迁移到增强型数据模型
在迁移生产站点之前,我们建议创建生产站点的完整拷贝。 我们还建议在非营业时间进行生产站点迁移。
使用以下步骤将生产站点迁移到增强型数据模型:
- 使用 PAC CLI
migrate-datamodel命令在复制环境中的站点上尝试迁移。 - 将站点配置数据添加到托管解决方案并导入生产环境。
- 使用 PAC CLI 命令迁移非配置数据,并通过更新生产数据模型版本来完成迁移。
备注
对于迁移,源网站 id 和生产网站 id 相同。
将站点从标准数据模型迁移到增强型数据模型时站点定制的注意事项
本部分为从标准数据模型到增强型数据模型的站点迁移提供修复自定义的指导。
adx 元数据表上有五种类型的网站自定义:
备注
所有与自定义相关的修复都将在迁移到增强型数据模型后完成。
adx 元数据表上的自定义列
若要在增强型数据模型中修复此自定义,请在系统表和新的自定义表之间创建一个关系,并将数据迁移到新表中。
标准数据模型:表 adx_webpage 包含一个自定义列作为 contoso_pagetype。
增强型数据模型:创建一个名为 contoso_webpage 的新表。 这将包括一个名为 contoso_pagetype 的列和一个与 contoso_webpage_id 相关联的查找列 powerpagescomponent。 利用数据工作空间创建表格。
自定义表和 adx 表之间的关系
若要在增强型数据模型中修复此自定义,请在自定义表和系统表之间创建关系。
标准数据模型:表 adx_webpage 与表 adx_webpage_contoso_pagelogs 之间有一个名为 contoso_pagelogs 的关系。
增强型数据模型:使用 powerpagecomponent_contoso_pagelogs 表创建一个名为 contoso_webpage 的新关系。 利用数据工作空间创建表格。
liquid 代码片段中的 Adx 表引用
要在增强型数据模型中修复此自定义,将 liquid 代码中的 adx 表引用替换为增强型数据模型虚拟表 mspp 引用。 或者,您可以使用站点组件(逻辑名称 powerpagecomponent)表和组件类型(逻辑名称 powerpagecomponenttype)属性来检索相应的引用。
标准数据模型:entities liquid 标签用于访问 代码中的 {% assign app_weblinks= entities['adx_weblinks'] %}值。
增强型数据模型:不要通过 entities Liquid 标签使用网页链接,而要使用相应的 Liquid 对象。
entities[adx_weblinks] 直接。 在这种情况下,entities['adx_weblinks'] 可以替换为 weblinks Liquid 对象。
fetch xml 中的 Adx 表引用
若要在增强型数据模型中修复此自定义,将 fetch xml 中的 adx 表引用替换为增强型数据模型虚拟表直接引用。 或者,您可以使用站点组件(逻辑名称 powerpagecomponent)表和组件类型(逻辑名称 powerpagecomponenttype)属性来检索相应的引用。
标准数据模型:fetch XML 查询中使用了表名 adx_webrole。
{% fetchxml app_webroles %}
<fetch>
<entity name='adx_webrole'>
<attribute name='adx_name'/>
<entity>
</fetch>
{% endfetchxml %}
增强型数据模型:将站点组件(逻辑名称 powerpagecomponent)与组件类型(逻辑名称 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 记录。