如何更新果园自定义模块版本

时间:2013-12-23 07:47:39

标签: asp.net-mvc orchardcms-1.7

我想在现有的自定义模块中添加新内容项。 我想创建新表并管理新的内容项。我已经创建了新的UpdateForm方法,但是在模块启用或禁用时不会调用它。

public int UpdateForm2()
    {
        SchemaBuilder.CreateTable("SMRecord", table => table
            .ContentPartRecord()
            .Column<string>("Name", col => col.WithLength(250))
             .Column<decimal>("week1", col => col.WithPrecision(18).WithScale(2))
             .Column<decimal>("week2", col => col.WithPrecision(18).WithScale(2))
             .Column<decimal>("week3", col => col.WithPrecision(18).WithScale(2))
            .Column<int>("SPRecord_Id")
            .Column<bool>("IsActive", col => col.WithDefault(true))
        );
        ContentDefinitionManager.AlterTypeDefinition("SM", builder => builder
                .DisplayedAs("SM")
                .WithPart("SMPart")
                .WithPart("CommonPart")
                .WithPart("IdentityPart")
            );
        ContentDefinitionManager.AlterPartDefinition(typeof(SMRecord).Name, cfg => cfg
            .Attachable());
        return 3;
    }

但UpdateForm2没有调用。 请帮我如何调用UpdateForm2方法并升级我的模块版本。

1 个答案:

答案 0 :(得分:0)

我已将代码UpdateForm1()移至Create()方法,并将UpdateForm2()移至UpdateForm1()并更新表Orchard_Framework_DataMigrationRecord currnet模块条目。我已经完成了当前版本的-1版本(CModule.SM.Migrations = 1而不是CModule.SM.Migrations = 2)。

然后再次运行项目。更新链接显示在模块列表中。然后禁用并启用模块。 模块将更新。