2014-01-08 33 views
5

crosspost:https://orchard.codeplex.com/discussions/484033奇怪的分類移民問題(1.6至1.7.2)

我從遷移果園CMS 1.6至1.7.2。爲了讓一些背景,我已經翻過先前的問題,通過更新表在遷移方面分類前:

UPDATE Contrib_Taxonomies_TermPartRecord 
SET Path = '/' + Path 
WHERE Path NOT LIKE '/%' 

UPDATE Contrib_Taxonomies_TermPartRecord 
SET Path = '/' 
WHERE Path IS NULL 

所以我有具有與之關聯的一些分類法的一些內容類型。

  1. 我可以毫不相關的分類術語 (選擇無)
  2. 我可以創造,只有一些具體條款的新內容項目創建新內容項目(還沒有看到一個模式中的條款)
  3. 我不能創建/保存/發佈相關的一些具體條款的全新內容項(頁面只是試圖加載和它就像有一個在後臺無限循環)

糟糕的是,沒有錯誤拋出或記錄,即使在調試模式下。

任何人有任何想法或線索?有沒有人遇到過類似的行爲?

謝謝!

回答

1

此問題已被提出here

我認爲版本1.7.2中使用的Taxonomy模塊在Container(分類)和Term之間有一個額外的連接,但在遷移舊版本時沒有正確實現。

破碎的聯動導致無限循環(請參考上面的超級鏈接)發佈包含受影響的項的內容項時,(我沒有遇到節約任何問題,只有當發佈)。

連接可以很容易地通過對數據庫運行下面的SQL語句是固定的:

UPDATE 
    Common_CommonPartRecord 
SET 
    Container_Id = Orchard_Taxonomies_TermPartRecord.TaxonomyId 
FROM 
    Common_CommonPartRecord 
    INNER JOIN Orchard_Taxonomies_TermPartRecord ON 
     Common_CommonPartRecord.Id = Orchard_Taxonomies_TermPartRecord.Id 

的SQL語句將採取TaxonomyId從表Orchard_Taxonomies_TermPartRecord並填寫成* CONTAINER_ID *表Common_CommonPartRecord

0

我設法找到了這個問題的解決方法,以及萬一有人需要它,這裏是我做過什麼:

  1. 名單影響分類術語
  2. 添加新的術語來替換受影響的人
  3. 老地圖方面新的(主表 Orchard_Taxonomies_TermPartRecord,聯同Title_TitlePartRecord 和Orchard_Framework_ContentItemRecord)
  4. 更新Orchard_Taxonomies_TermContentItem記錄(地圖內容,它EMS標籤的條款)與新
  5. 刪除舊的受影響的條款,以取代舊的條款
  6. 重命名新的術語來老受影響的人

這是一個繁瑣細緻微妙的過程,所以我建議你做一個最後一招。花了我一個小時左右。