我们希望在不生产的几个环境中同步数据,即开发,测试ect。我们有几个列表设置为按ID订购。问题是,在执行内容部署时,ID不会在跨环境中保持同步,导致数据不在预期顺序中显示。是否有一种方法可以在接收表中重新定位ID,以匹配插入的记录?

有帮助吗?

解决方案 3

感谢您的回复。由于内容部署是跨多个版本的生产网站的要求,也是DB Restore对我们来说不是有效的解决方案。我最终做的是在列表中创建一个附加列以支持排序顺序(int),然后在CAML中写下n个Orderby查询以排序。这是我试图开始的地方,但由于某种原因,我的访问在网站管理员中的访问方式有限有限,我可以在该列上采取的操作。我们最终得到了预付,查询工作得很好。

其他提示

我发现的最佳方式是要定期将内容数据库本身退回从生产并将其附加到每个环境中的副本。这是非常简单的,但确实具有一些潜在的缺点,例如:

  1. 擦除了DEV / QA环境的任何手动更改(如果您 正在使用要部署自定义的功能,这不应该是一个问题) 更换
  2. dev / qa内容,这可能导致潜在的损失 测试数据
  3. 生产数据库往往非常大,可以珍贵 DB空间在典型的spartan dev / qa数据库服务器
  4. 您必须使用每个都使用完全相同版本的SharePoint 环境 据说,它有一些非常强的点,也是一个非常强烈的点,
    1. 开发人员正在针对现实世界的数据测试,这意味着他们可以针对手动复制的情况来测试,以便手动复制
    2. 较少的惊喜,因为代码通过环境移动,因为它在“生产”中有效地开发了
    3. 所有内部ID在每个环境中完全匹配,这使得它很多 更容易将ID绑定组件(即许多WebParts)从环境中移动到环境

如果在声明地创建列表(即在功能中以XML定义)创建列表时,则只能保持相同的ID。

如果列表是通过UI中创建的,在脚本或以编程方式中创建,它们将在导入目标中获取新ID。它是一个很大的位置,用于在功能中定义列表(正确)。

我想。

许可以下: CC-BY-SA归因
scroll top