Migration Orchard CMS中奇怪的分类迁移问题(1.6到1.7.2)

Migration Orchard CMS中奇怪的分类迁移问题(1.6到1.7.2),migration,orchardcms,infinite-loop,taxonomy,orchardcms-1.7,Migration,Orchardcms,Infinite Loop,Taxonomy,Orchardcms 1.7,横杆: 我正在从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 所以我有一些内容类

横杆:

我正在从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
所以我有一些内容类型,它们有一些相关的分类法

  • 我可以创建没有关联分类术语的新内容项 (不选择任何内容)
  • 我只能用一些特定的术语创建新的内容项(在术语中没有看到模式)
  • 我无法创建/保存/发布与某些特定术语相关的新内容项(页面只是尝试加载,就像在后台有一个无限循环)
  • 最糟糕的是,即使在调试模式下,也不会抛出或记录错误

    有人有什么想法或线索吗?以前有没有人遇到过类似的行为


    谢谢

    我设法找到了解决这个问题的方法,如果有人想要,我的做法如下:

  • 列出受影响的分类术语
  • 添加新术语以替换受影响的术语
  • 将旧术语映射到新术语(主表为 Orchard\u分类\u TermPartRecord,与Title\u TitlePartRecord连接 和Orchard_框架_内容项记录)
  • 更新Orchard_分类法_TermContentItem记录(映射用术语标记的内容项)以用新术语替换旧术语
  • 删除旧的受影响条款
  • 将新术语重命名为受影响的旧术语

  • 这是一个繁琐而细致的过程,所以我建议你在万不得已的情况下这样做。花了我大约一个小时

    这个问题已经被提出

    我认为版本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\u Taxonomies\u TermPartRecord中获取TaxonomyId,并将其填充到表Common\u CommonPartRecord的*Container\u id*