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

Ani*_*ola 5 migration taxonomy infinite-loop orchardcms orchardcms-1.7

crosspost: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
Run Code Online (Sandbox Code Playgroud)

所以我有一些内容类型,它们有一些与之相关的分类.

  1. 我可以创建没有相关分类条款的新内容项(不做任何选择)
  2. 我可以创建仅包含一些特定术语的新内容项(未在术语中看到模式)
  3. 我无法创建/保存/发布与某些特定术语相关联的新内容项(页面只是尝试加载,就像在后台有一个无限循环)

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

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

谢谢!

Twi*_*per 1

这个问题已经在这里提出了。

我认为 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
Run Code Online (Sandbox Code Playgroud)

SQL语句将从表Orchard_Taxonomies_TermPartRecord中获取TaxonomyId并将其填充到表Common_CommonPartRecord的*Container_id*中