Files
Orchard/src/Orchard.Web/Core/Containers/Migrations.cs
piedone 679e4fed3d #17312: Refactoring ContainerPart to use a driver
Work Item: 17312

--HG--
branch : 1.x
2011-11-15 11:46:33 -08:00

73 lines
3.0 KiB
C#

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<bool>("Paginated")
.Column<int>("PageSize")
.Column<string>("OrderByProperty")
.Column<int>("OrderByDirection")
.Column<string>("ItemContentType")
.Column<bool>("ItemsShown", column => column.WithDefault(true)));
SchemaBuilder.CreateTable("ContainerWidgetPartRecord",
table => table
.ContentPartRecord()
.Column<int>("ContainerId")
.Column<int>("PageSize")
.Column<string>("OrderByProperty")
.Column<int>("OrderByDirection")
.Column<bool>("ApplyFilter")
.Column<string>("FilterByProperty")
.Column<string>("FilterByOperator")
.Column<string>("FilterByValue"));
SchemaBuilder.CreateTable("CustomPropertiesPartRecord",
table => table
.ContentPartRecord()
.Column<string>("CustomOne")
.Column<string>("CustomTwo")
.Column<string>("CustomThree"));
SchemaBuilder.CreateTable("ContainablePartRecord",
table => table
.ContentPartRecord()
.Column<int>("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<string>("ItemContentType"));
return 2;
}
public int UpdateFrom2() {
SchemaBuilder.AlterTable("ContainerPartRecord",
table => table.AddColumn<bool>("ItemsShown", column => column.WithDefault(true)));
SchemaBuilder.CreateTable("ContainablePartRecord",
table => table
.ContentPartRecord()
.Column<int>("Weight"));
return 3;
}
}
}