2014-08-31 18 views
1

我们正在将Sitecore 6.6升级到7.2。升级的一部分是将所有媒体项目从6.6迁移到7.2。Sitecore Powershell控制台 - 将媒体项目从一个数据库复制到另一个数据库

我试着创建一个软件包,但软件包的大小太大,并且在软件包安装上超时。

我发现下面使用PowerShell控制台链接,它显示复制项命令: http://blog.najmanowicz.com/2011/11/18/sample-scripts-for-sitecore-powershell-console

我重视的6.6到7.2版本,在那里我可以访问6.6 DB。但是复制项目似乎不支持不同的数据库。

有人可以请帮助我如何使用SiteCore Powershell或类似的从6.6到7.2迁移媒体项目?

回答

2

我有一个类似的问题,与一个(非常大)的媒体库和一个类似的迁移。包似乎弹了出来周围的2GB大关,而不是序列化项目:

  1. 删除一切从/数据/序列化
  2. 打开媒体库。确保您有开发选项卡 表现(右键单击某个工具栏上,并使其 否则)
  3. 选择根媒体项目,然后序列化树
  4. 稍候...
  5. 复制从连载/数据文件/序列化到您的新 服务器
  6. 从工具栏中选择根据您的要求更新或还原树
  7. 利润。

您可以通过布赖恩佩德森

发现在 Sitecore Serialization Guidethis post更多信息

你应该能够做到这一点在PowerShell中太(从我的理解)。您需要:

  • 添加数据库,您connectionString.config
  • 该数据库,以你的web.config添加到<sitecore><databases><database>。您可以复制现有的主节点,并重新命名id属性来匹配您的连接错误名称
  • 你的遗留数据库现在应该连接到Sitecore的界面,你可以检查它是从桌面的右边存在于数据库中选择列表
  • powershell命令现在需要“from”和“to”位置。假设你的数据库被称为“legacy_master”,下面应该工作:

    copy-item "master:\media library\*" "legacy_master:\media library\"

3

我发现刺猬TDS(有时拉齐),这样做非常有用。

创建一个新的TDS项目(不要版本控制它),并将所需的所有项目下载到本地计算机。例如,您可以将“Debug”构建连接到源6.6实例,并将“Release”构建连接到目标7.2实例。然后,您可以将这些项目同步到目标机器。如果您有很长的延迟连接,一次同步一个或几个分支有时会很好。

关于这一点的好处是,您可以完全控制您的内容,并可以查看哪些字段已更新等。在更新过程中,有时也会比较db的其他部分,以确保您不会错过任何对平台所做的更改。

因为我也提到过Razl:如果你有一个你知道应该从一个数据库转移到另一个数据库的整个分支(比如你所描述的情况),我发现Razl相当不错。 TDS有点慢,但更普遍 - 你可能已经有了TDS许可证,所以它可能不值得获得额外的Razl许可证。

0

只需添加另一个选项,即可使用Revolver执行此类任务。

警告:如果我们假设在测试环境中第一

试试这个:

  • 上下文项是媒体库项目
  • 当前数据库是主
  • 的目标数据库称为master72

那么这样的事情应该工作:

cp -r -n master72/sitecore/ 
1

我已经just added item transfer从一个数据库到另一个这样你就可以开始Sitecore的PowerShell的扩展3.0数据库之间的复制项目。感谢你这么好的想法!

相关问题