2013-12-23 3 views
0

Я хочу добавить новый элемент контента в свой существующий пользовательский модуль. Я хочу создать новую таблицу и управлять новым элементом контента. Я создал новый метод UpdateForm, но это не вызов, когда модуль включен или отключен.Как изменить версию пользовательского модуля oudate orchard

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

Я переместил код UpdateForm1() в метод Create() и переместил UpdateForm2() в UpdateForm1() и обновил таблицу Orchard_Framework_DataMigrationRecord. Я выполнил версию -1 текущей версии (CModule.SM.Migrations = 1 вместо CModule.SM.Migrations = 2).

А затем снова запустить проект. Ссылка обновления отображается в списке модулей. Затем отключите и включите модуль. Модуль будет обновлен.

Смежные вопросы