Fixing Migrations the right way.

This commit is contained in:
Skrypt
2015-04-22 13:22:59 -04:00
parent a746532212
commit e508385dcb
7 changed files with 106 additions and 33 deletions

View File

@@ -2,13 +2,10 @@
using Orchard.Core.Contents.Extensions; using Orchard.Core.Contents.Extensions;
using Orchard.Data.Migration; using Orchard.Data.Migration;
namespace Orchard.Blogs namespace Orchard.Blogs {
{ public class Migrations : DataMigrationImpl {
public class Migrations : DataMigrationImpl
{
public int Create() public int Create() {
{
SchemaBuilder.CreateTable("BlogPartArchiveRecord", SchemaBuilder.CreateTable("BlogPartArchiveRecord",
table => table table => table
.Column<int>("Id", column => column.PrimaryKey().Identity()) .Column<int>("Id", column => column.PrimaryKey().Identity())
@@ -42,8 +39,8 @@ namespace Orchard.Blogs
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-blog\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-blog\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("MenuPart") .WithPart("MenuPart")
.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2")) .WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2"))
); );
@@ -61,8 +58,8 @@ namespace Orchard.Blogs
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Blog and Title\",\"Pattern\":\"{Content.Container.Path}/{Content.Slug}\",\"Description\":\"my-blog/my-post\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Blog and Title\",\"Pattern\":\"{Content.Container.Path}/{Content.Slug}\",\"Description\":\"my-blog/my-post\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("BodyPart") .WithPart("BodyPart")
.Draftable() .Draftable()
); );
@@ -92,26 +89,22 @@ namespace Orchard.Blogs
return 6; return 6;
} }
public int UpdateFrom1() public int UpdateFrom1() {
{
ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2"))); ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2")));
return 3; return 3;
} }
public int UpdateFrom2() public int UpdateFrom2() {
{
ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2"))); ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2")));
return 3; return 3;
} }
public int UpdateFrom3() public int UpdateFrom3() {
{
ContentDefinitionManager.AlterTypeDefinition("BlogPost", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "true"))); ContentDefinitionManager.AlterTypeDefinition("BlogPost", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "true")));
return 4; return 4;
} }
public int UpdateFrom4() public int UpdateFrom4() {
{
// adding the new fields required as Routable was removed // adding the new fields required as Routable was removed
// the user still needs to execute the corresponding migration // the user still needs to execute the corresponding migration
// steps from the migration module // steps from the migration module
@@ -125,8 +118,7 @@ namespace Orchard.Blogs
return 5; return 5;
} }
public int UpdateFrom5() public int UpdateFrom5() {
{
ContentDefinitionManager.AlterPartDefinition("BlogPart", builder => builder ContentDefinitionManager.AlterPartDefinition("BlogPart", builder => builder
.WithDescription("Turns a content type into a Blog.")); .WithDescription("Turns a content type into a Blog."));
@@ -141,5 +133,23 @@ namespace Orchard.Blogs
return 6; return 6;
} }
public int UpdateFrom6() {
ContentDefinitionManager.AlterTypeDefinition("Blog",
cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-blog\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
ContentDefinitionManager.AlterTypeDefinition("BlogPost",
cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Blog and Title\",\"Pattern\":\"{Content.Container.Path}/{Content.Slug}\",\"Description\":\"my-blog/my-post\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 7;
}
} }
} }

View File

@@ -12,8 +12,8 @@ namespace Orchard.CustomForms {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("MenuPart") .WithPart("MenuPart")
.WithPart("CustomFormPart") .WithPart("CustomFormPart")
.DisplayedAs("Custom Form") .DisplayedAs("Custom Form")
@@ -59,6 +59,17 @@ namespace Orchard.CustomForms {
return 4; return 4;
} }
public int UpdateFrom4() {
ContentDefinitionManager.AlterTypeDefinition("CustomForm",
cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 5;
}
public void Uninstall() { public void Uninstall() {
ContentDefinitionManager.DeleteTypeDefinition("CustomForm"); ContentDefinitionManager.DeleteTypeDefinition("CustomForm");
} }

View File

@@ -20,8 +20,8 @@ namespace Orchard.DynamicForms {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("LayoutPart", p => p .WithPart("LayoutPart", p => p
.WithSetting("LayoutTypePartSettings.DefaultLayoutData", .WithSetting("LayoutTypePartSettings.DefaultLayoutData",
"{" + "{" +
@@ -58,5 +58,15 @@ namespace Orchard.DynamicForms {
.DisplayedAs("Form Widget")); .DisplayedAs("Form Widget"));
return 1; return 1;
} }
public int UpdateFrom1() {
ContentDefinitionManager.AlterTypeDefinition("Form", type => type
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 2;
}
} }
} }

View File

@@ -13,8 +13,8 @@ namespace Orchard.Lists {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-list\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-list\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))); .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")));
return 4; return 4;
} }
@@ -35,5 +35,15 @@ namespace Orchard.Lists {
return 4; return 4;
} }
public int UpdateFrom4() {
ContentDefinitionManager.AlterTypeDefinition("List", type => type
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-list\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 5;
}
} }
} }

View File

@@ -14,8 +14,8 @@ namespace Orchard.Pages {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-page\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-page\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("LayoutPart") .WithPart("LayoutPart")
.Creatable() .Creatable()
.Listable() .Listable()
@@ -28,5 +28,16 @@ namespace Orchard.Pages {
ContentDefinitionManager.AlterTypeDefinition("Page", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "True"))); ContentDefinitionManager.AlterTypeDefinition("Page", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "True")));
return 2; return 2;
} }
public int UpdateFrom2() {
ContentDefinitionManager.AlterTypeDefinition("Page",
cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-page\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 3;
}
} }
} }

View File

@@ -190,8 +190,8 @@ namespace Orchard.Projections {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-projections\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-projections\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
.WithPart("MenuPart") .WithPart("MenuPart")
.WithPart("ProjectionPart") .WithPart("ProjectionPart")
.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "5")) .WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "5"))
@@ -274,5 +274,16 @@ namespace Orchard.Projections {
return 3; return 3;
} }
public int UpdateFrom3() {
ContentDefinitionManager.AlterTypeDefinition("ProjectionPage",
cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-projections\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 4;
}
} }
} }

View File

@@ -36,8 +36,8 @@ namespace Orchard.Taxonomies {
.WithPart("AutoroutePart", builder => builder .WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AllowCustomPattern", "True")
.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False")
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-taxonomy\",\"Culture\":\"en-US\"}]") .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-taxonomy\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))
); );
SchemaBuilder.CreateTable("TermsPartRecord", table => table SchemaBuilder.CreateTable("TermsPartRecord", table => table
@@ -78,5 +78,15 @@ namespace Orchard.Taxonomies {
return 4; return 4;
} }
public int UpdateFrom4() {
ContentDefinitionManager.AlterTypeDefinition("Taxonomy", cfg => cfg
.WithPart("AutoroutePart", builder => builder
.WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-taxonomy\",\"Culture\":\"en-US\"}]")
.WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))
);
return 5;
}
} }
} }