2014-01-08 78 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. 重命名新的术语来老受影响的人

这是一个繁琐细致微妙的过程,所以我建议你做一个最后一招。花了我一个小时左右。