我们正在将Sitecore 6.6升级到7.2。升级的一部分是将所有媒体项目从6.6迁移到7.2。
我尝试创建一个包但是包大小太大而且在包安装上超时。
我在下面使用Powershell控制台找到了链接,其中显示了copy-item命令: http://blog.najmanowicz.com/2011/11/18/sample-scripts-for-sitecore-powershell-console
我附加了6.6到7.2版本,我可以访问6.6 DB。但是,copy-item似乎不支持不同的数据库。
有人可以帮助我如何使用SiteCore Powershell或类似方法将媒体项目从6.6迁移到7.2吗?
答案 0 :(得分:3)
我发现Hedgehog TDS(有时是Razl)对此非常有用。
创建一个新的TDS项目(不要对其进行版本控制),并将所需的所有项目下载到本地计算机上。例如,您可以连接" Debug"构建到您的源6.6实例,以及"发布"构建到目标7.2实例。然后,您可以将项目同步到目标计算机。如果您有长时间的连接,一次同步一个或几个分支有时会很好。
关于这一点的好处是,您可以完全控制您的内容,并可以查看哪些字段已更新等。在更新过程中,将数据库的其他部分进行比较有时很有用好吧,只是为了确保您不会错过您对平台所做的任何更改。
因为我也提到了Razl:如果你有一个你知道应该从一个db传输到另一个db的整个分支(例如你描述的情况),我发现Razl非常好。 TDS有点慢,但更普遍 - 你可能已经拥有TDS许可证,因此可能不值得额外的Razl许可证。
答案 1 :(得分:2)
我的(非常大)媒体库有类似的迁移问题。软件包似乎在2GB标记周围爆炸,而是序列化项目:
您可以在Brian Pedersen的Sitecore Serialization Guide和this post中找到更多信息
你也应该能够在Powershell中做到这一点(根据我的理解)。你需要:
<sitecore><databases><database>
。您可以复制现有主节点并重命名id
属性以匹配您的连接名称powershell命令现在需要一个“from”和“to”位置。假设您的数据库名为“legacy_master”,以下内容应该有效:
copy-item "master:\media library\*" "legacy_master:\media library\"
答案 2 :(得分:1)
我从一个数据库到另一个数据库just added item transfer,因此您可以在Sitecore PowerShell Extensions 3.0开始的数据库之间复制项目。谢谢你的好主意!
答案 3 :(得分:0)
只需添加其他选项,即可使用Revolver执行此类任务。
警告:首先在测试环境中尝试此操作
如果我们假设:
然后这样的事情应该有效:
cp -r -n master72/sitecore/