我想在现有的自定义模块中添加新内容项。 我想创建新表并管理新的内容项。我已经创建了新的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方法并升级我的模块版本。
答案 0 :(得分:0)
我已将代码UpdateForm1()移至Create()方法,并将UpdateForm2()移至UpdateForm1()并更新表Orchard_Framework_DataMigrationRecord currnet模块条目。我已经完成了当前版本的-1版本(CModule.SM.Migrations = 1而不是CModule.SM.Migrations = 2)。
然后再次运行项目。更新链接显示在模块列表中。然后禁用并启用模块。 模块将更新。