2014-08-31 56 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數據庫之間的複製項目。感謝你這麼好的想法!

相關問題