【问题标题】:Weird Taxonomy migration issue (1.6 to 1.7.2) in Orchard CMSOrchard CMS 中奇怪的分类学迁移问题(1.6 到 1.7.2)
【发布时间】:2014-01-08 09:36:10
【问题描述】:

交叉邮件:https://orchard.codeplex.com/discussions/484033

我正在从 Orchard 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. 我无法创建/保存/发布与某些特定条款相关的新内容项(页面只是尝试加载,就像后台有无限循环)

最糟糕的是,即使在调试模式下,也不会引发或记录任何错误。

有人有任何想法或线索吗?有没有人遇到过类似的行为?

谢谢!

【问题讨论】:

    标签: migration orchardcms infinite-loop taxonomy orchardcms-1.7


    【解决方案1】:

    这个问题已经提出here

    我认为 1.7.2 版中使用的分类模块在容器(分类)和术语之间有一个额外的链接,但在旧版本的迁移过程中没有正确实施。

    在发布包含受影响术语的内容项时,断开的链接导致无限循环(请参阅上面的超链接)(我没有遇到任何问题保存它,只有当出版)。

    可以通过对数据库运行以下 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 语句将从表 Orchard_Taxonomies_TermPartRecord 中获取 TaxonomyId 并将其填充到表 Common_CommonPartRecord

    的 *Container_id* 中

    【讨论】:

      【解决方案2】:

      我设法找到了解决此问题的方法,如果有人想要,我就是这样做的:

      1. 列出受影响的分类术语
      2. 添加新术语以替换受影响的术语
      3. 将旧术语映射到新术语(主表是 Orchard_Taxonomies_TermPartRecord,加入 Title_TitlePartRecord 和 Orchard_Framework_ContentItemRecord)
      4. 更新 Orchard_Taxonomies_TermContentItem 记录(映射用术语标记的内容项)以用新术语替换旧术语
      5. 删除受影响的旧条款
      6. 将新术语重命名为受影响的旧术语

      这是一个繁琐而细致的过程,所以我建议你作为最后的手段。花了我大约一个小时。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-19
        • 2014-07-16
        • 1970-01-01
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多