c# – 如何从Orchard数据库中删除模块的数据?

我已经安装了一个模块,并且在Orchard.sdf中迁移和创建表之后,我想清除所有表并回滚迁移所做的所有更改.

我放弃了表,但我猜想应该删除一些元数据.

我们怎么能完全清除模块数据?
谢谢.

完整的卸载涉及删除与模块的名称,其功能名称及其命名空间相关联的数据库表和行.这是一个为我们工作的过程.

1:运行orchard.exe>软件包卸载Orchard.Module.MyModuleName

2:然后,打开SQL Server Management Studio并删除与您的模块相关联的以下数据库表.

MyModuleName_MyFeatureNameRecord

3:对下列表进行通配符搜索.请确保搜索MyModuleName,MyNamespaceName,MyFeatureName等.最终将删除所有这些行,但尚未.

SELECT *  FROM Orchard_Framework_ContentTypeRecord  WHERE Name LIKE '%%'
SELECT *  FROM Settings_ContentTypeDefinitionRecord  WHERE Name LIKE '%%'
SELECT *  FROM Settings_ContentPartDefinitionRecord  WHERE Name LIKE '%%'
SELECT *  FROM Settings_ShellFeatureRecord  WHERE Name LIKE '%%'
SELECT *  FROM Settings_ShellFeatureStateRecord  WHERE Name LIKE '%%'
SELECT *  FROM Orchard_Framework_DataMigrationRecord  WHERE DataMigrationClass LIKE '%%'

4:从上面的搜索结果中,记下这些表中的行的Id值.

Orchard_Framework_ContentTypeRecord.Id
Settings_ContentTypeDefinitionRecord.Id

5:现在您已经记录了Id,请删除您在上述步骤3中找到的行.

6:使用步骤4中收集的Ids,从下表中删除行.

SELECT * FROM Settings_ContentTypePartDefinitionRecord 
    WHERE ContentTypeDefinitionRecord_Id IN()

SELECT * FROM Orchard_Framework_ContentItemRecord 
    WHERE ContentType_id IN ()

这对我有用.

相关文章
相关标签/搜索