2012-09-13 42 views
0

我给了内容部分一个错误的名称,我想重命名它。我尝试在解决方案中重命名类和它的所有调用都无济于事。我甚至尝试从ShellFeatures表和由Migrations生成的表中删除条目,但这只会让事情变得更糟。现在整个模块的功能无法识别。任何人之前尝试过?如何删除或重命名Orchard中的内容部分?

+0

如果你清除你的App_Data文件夹并启动一个新站点,它会工作吗? –

+0

我很犹豫要清除App_Data文件夹。然后,我必须从头开始通过我的网站。我已经完成了大部分设置和东西 – Jonn

+0

你总是可以将它剪切并粘贴到某个地方。只是为了看看它是否有效。然后可能使用导入/导出模块将数据提取到新安装中。只是想尝试我猜。 –

回答

1

我知道这是一个老问题,但我只是必须解决这个问题,这是我从Google登陆的第一个结果。

您可以删除ContentPart,然后重新添加使用迁移例如:

public int UpdateFrom3() { 
     // remove the AccreditationsPart part cleanly 
     ContentDefinitionManager.DeletePartDefinition(typeof (AccreditationsPart).Name); 
enter code here 
     // re-add the AccreditationsPart again 
     ContentDefinitionManager.AlterPartDefinition(typeof (AccreditationsPart).Name, 
      cfg = > cfg 
      .Attachable() 
      .WithDescription("Adds a row of configurable accreditations to the content type")); 
     return 4; 
    } 

您将需要自定义更新号,以适应当前的migrations.cs,改变它的AlterPartDefinition匹配任何你想让它是。

警告:这仅用于解决您直接接触到的问题。在迁移的第一部分删除零件时,将丢失任何关联的数据。如果您已经在生产中运行代码,那么您将不得不使用不同的方法。

+0

AlterPartDefinition之前的DeletePartDefinition似乎对我有用,但不会删除生产站点中的任何现有数据吗? – Nathan

+0

是的你是对的。我只想着一个场景,因为你的模块无法正常工作,所以你立即抓住它。我应该在我的主要答案中指出这一点。 – rtpHarry