我想将项目从master数据库传输到类似的数据库(比如说master数据库的副本),这是master数据库的脱机备份。此更新将每天进行。
我已经配置了marster_archive数据库并尝试了Sitecore传输项功能。它将选定的项目从主数据库复制到master_archive数据库。
我想以编程方式执行此操作,我该怎么做? (Sitecore 6.6)
答案 0 :(得分:4)
以下是Transfer
命令使用的代码的简化版本:
public void Transfer()
{
Item sourceItem = ...;
Item destinationItem = ...;
using (new ProxyDisabler())
{
string outerXml = sourceItem.GetOuterXml(includeSubitems);
try
{
destinationItem.Paste(outerXml, false, PasteMode.Overwrite);
Log.Audit((object) this, "Transfer from database: {0}, to:{1}",
AuditFormatter.FormatItem(sourceItem),
AuditFormatter.FormatItem(destinationItem));
}
catch (TemplateNotFoundException ex)
{
// handle exception - first transfer templates, than items
}
}
}