using Orchard.ContentManagement.MetaData; using Orchard.Core.Contents.Extensions; using Orchard.Data.Migration; namespace Orchard.Core.Containers { public class Migrations : DataMigrationImpl { public int Create() { SchemaBuilder.CreateTable("ContainerPartRecord", table => table .ContentPartRecord() .Column("Paginated") .Column("PageSize") .Column("OrderByProperty") .Column("OrderByDirection") .Column("ItemContentType") .Column("ItemsShown", column => column.WithDefault(true))); SchemaBuilder.CreateTable("ContainerWidgetPartRecord", table => table .ContentPartRecord() .Column("ContainerId") .Column("PageSize") .Column("OrderByProperty") .Column("OrderByDirection") .Column("ApplyFilter") .Column("FilterByProperty") .Column("FilterByOperator") .Column("FilterByValue")); SchemaBuilder.CreateTable("CustomPropertiesPartRecord", table => table .ContentPartRecord() .Column("CustomOne") .Column("CustomTwo") .Column("CustomThree")); SchemaBuilder.CreateTable("ContainablePartRecord", table => table .ContentPartRecord() .Column("Weight")); ContentDefinitionManager.AlterTypeDefinition("ContainerWidget", cfg => cfg .WithPart("CommonPart") .WithPart("WidgetPart") .WithPart("ContainerWidgetPart") .WithSetting("Stereotype", "Widget")); ContentDefinitionManager.AlterPartDefinition("ContainerPart", builder => builder.Attachable()); ContentDefinitionManager.AlterPartDefinition("ContainablePart", builder => builder.Attachable()); ContentDefinitionManager.AlterPartDefinition("CustomPropertiesPart", builder => builder.Attachable()); return 3; } public int UpdateFrom1() { SchemaBuilder.AlterTable("ContainerPartRecord", table => table.AddColumn("ItemContentType")); return 2; } public int UpdateFrom2() { SchemaBuilder.AlterTable("ContainerPartRecord", table => table.AddColumn("ItemsShown", column => column.WithDefault(true))); SchemaBuilder.CreateTable("ContainablePartRecord", table => table .ContentPartRecord() .Column("Weight")); return 3; } } }