From e508385dcb00ccca182c3ccfa00b692363dedba0 Mon Sep 17 00:00:00 2001 From: Skrypt Date: Wed, 22 Apr 2015 13:22:59 -0400 Subject: [PATCH] Fixing Migrations the right way. --- .../Modules/Orchard.Blogs/Migrations.cs | 50 +++++++++++-------- .../Modules/Orchard.CustomForms/Migrations.cs | 15 +++++- .../Orchard.DynamicForms/Migrations.cs | 16 ++++-- .../Modules/Orchard.Lists/Migrations.cs | 14 +++++- .../Modules/Orchard.Pages/Migrations.cs | 15 +++++- .../Modules/Orchard.Projections/Migrations.cs | 15 +++++- .../Modules/Orchard.Taxonomies/Migrations.cs | 14 +++++- 7 files changed, 106 insertions(+), 33 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Migrations.cs index c38d9e5df..8a1a79e9d 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Migrations.cs @@ -2,13 +2,10 @@ using Orchard.Core.Contents.Extensions; using Orchard.Data.Migration; -namespace Orchard.Blogs -{ - public class Migrations : DataMigrationImpl - { +namespace Orchard.Blogs { + public class Migrations : DataMigrationImpl { - public int Create() - { + public int Create() { SchemaBuilder.CreateTable("BlogPartArchiveRecord", table => table .Column("Id", column => column.PrimaryKey().Identity()) @@ -42,8 +39,8 @@ namespace Orchard.Blogs .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-blog\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-blog\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("MenuPart") .WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2")) ); @@ -61,8 +58,8 @@ namespace Orchard.Blogs .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .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.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Blog and Title\",\"Pattern\":\"{Content.Container.Path}/{Content.Slug}\",\"Description\":\"my-blog/my-post\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("BodyPart") .Draftable() ); @@ -92,26 +89,22 @@ namespace Orchard.Blogs return 6; } - public int UpdateFrom1() - { + public int UpdateFrom1() { ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2"))); return 3; } - public int UpdateFrom2() - { + public int UpdateFrom2() { ContentDefinitionManager.AlterTypeDefinition("Blog", cfg => cfg.WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "2"))); return 3; } - public int UpdateFrom3() - { + public int UpdateFrom3() { ContentDefinitionManager.AlterTypeDefinition("BlogPost", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "true"))); return 4; } - public int UpdateFrom4() - { + public int UpdateFrom4() { // adding the new fields required as Routable was removed // the user still needs to execute the corresponding migration // steps from the migration module @@ -125,8 +118,7 @@ namespace Orchard.Blogs return 5; } - public int UpdateFrom5() - { + public int UpdateFrom5() { ContentDefinitionManager.AlterPartDefinition("BlogPart", builder => builder .WithDescription("Turns a content type into a Blog.")); @@ -141,5 +133,23 @@ namespace Orchard.Blogs 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; + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs index 2fb9f26c4..486d119bb 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs @@ -12,8 +12,8 @@ namespace Orchard.CustomForms { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("MenuPart") .WithPart("CustomFormPart") .DisplayedAs("Custom Form") @@ -59,6 +59,17 @@ namespace Orchard.CustomForms { 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() { ContentDefinitionManager.DeleteTypeDefinition("CustomForm"); } diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Migrations.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Migrations.cs index 39155a538..d1bb17316 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Migrations.cs @@ -20,10 +20,10 @@ namespace Orchard.DynamicForms { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-form\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("LayoutPart", p => p - .WithSetting("LayoutTypePartSettings.DefaultLayoutData", + .WithSetting("LayoutTypePartSettings.DefaultLayoutData", "{" + "\"elements\": [{" + "\"typeName\": \"Orchard.DynamicForms.Elements.Form\"," + @@ -58,5 +58,15 @@ namespace Orchard.DynamicForms { .DisplayedAs("Form Widget")); 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; + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Lists/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Lists/Migrations.cs index cc87afaef..91c9a2cba 100644 --- a/src/Orchard.Web/Modules/Orchard.Lists/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Lists/Migrations.cs @@ -13,8 +13,8 @@ namespace Orchard.Lists { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-list\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]"))); + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-list\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0"))); return 4; } @@ -35,5 +35,15 @@ namespace Orchard.Lists { 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; + } } } diff --git a/src/Orchard.Web/Modules/Orchard.Pages/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Pages/Migrations.cs index 880a1fad9..97495b1de 100644 --- a/src/Orchard.Web/Modules/Orchard.Pages/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Pages/Migrations.cs @@ -14,8 +14,8 @@ namespace Orchard.Pages { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-page\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-page\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("LayoutPart") .Creatable() .Listable() @@ -28,5 +28,16 @@ namespace Orchard.Pages { ContentDefinitionManager.AlterTypeDefinition("Page", cfg => cfg.WithPart("CommonPart", p => p.WithSetting("DateEditorSettings.ShowDateEditor", "True"))); 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; + } } } diff --git a/src/Orchard.Web/Modules/Orchard.Projections/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Projections/Migrations.cs index 0f3d3ef06..ee26c9826 100644 --- a/src/Orchard.Web/Modules/Orchard.Projections/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Projections/Migrations.cs @@ -190,8 +190,8 @@ namespace Orchard.Projections { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-projections\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-projections\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) .WithPart("MenuPart") .WithPart("ProjectionPart") .WithPart("AdminMenuPart", p => p.WithSetting("AdminMenuPartTypeSettings.DefaultPosition", "5")) @@ -274,5 +274,16 @@ namespace Orchard.Projections { 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; + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Taxonomies/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Taxonomies/Migrations.cs index 05a8396c6..010684e0a 100644 --- a/src/Orchard.Web/Modules/Orchard.Taxonomies/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Taxonomies/Migrations.cs @@ -36,8 +36,8 @@ namespace Orchard.Taxonomies { .WithPart("AutoroutePart", builder => builder .WithSetting("AutorouteSettings.AllowCustomPattern", "True") .WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", "False") - .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-taxonomy\",\"Culture\":\"en-US\"}]") - .WithSetting("AutorouteSettings.DefaultPatternDefinitions", "[{\"PatternIndex\":\"0\",\"Culture\":\"en-US\"}]")) + .WithSetting("AutorouteSettings.PatternDefinitions", "[{\"Name\":\"Title\",\"Pattern\":\"{Content.Slug}\",\"Description\":\"my-taxonomy\"}]") + .WithSetting("AutorouteSettings.DefaultPatternIndex", "0")) ); SchemaBuilder.CreateTable("TermsPartRecord", table => table @@ -78,5 +78,15 @@ namespace Orchard.Taxonomies { 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; + } } } \ No newline at end of file