From aae53c390942d63ba614dc5d4203cdb2421f4c2b Mon Sep 17 00:00:00 2001 From: Daniel Stolt Date: Wed, 19 Aug 2015 12:21:24 +0100 Subject: [PATCH] Added unique constraints to data migration records. --- .../Orchard.ImportExport/Services/SetupService.cs | 4 ++++ .../Modules/Orchard.Setup/Services/SetupService.cs | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/SetupService.cs index 66352f7a8..698e67947 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/SetupService.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/SetupService.cs @@ -92,11 +92,15 @@ namespace Orchard.ImportExport.Services environment.Resolve().RequireNew(); var schemaBuilder = new SchemaBuilder(environment.Resolve()); + schemaBuilder.CreateTable("Orchard_Framework_DataMigrationRecord", table => table .Column("Id", column => column.PrimaryKey().Identity()) .Column("DataMigrationClass") .Column("Version")); + schemaBuilder.AlterTable("Orchard_Framework_DataMigrationRecord", + table => table.CreateUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version")); + var dataMigrationManager = environment.Resolve(); dataMigrationManager.Update("Settings"); diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs index 694348273..fa8b2c0fb 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs @@ -146,11 +146,13 @@ namespace Orchard.Setup.Services { // Make a workaround to avoid the Transaction issue for PostgreSQL environment.Resolve().RequireNew(); - schemaBuilder.CreateTable("Orchard_Framework_DataMigrationRecord", - table => table - .Column("Id", column => column.PrimaryKey().Identity()) - .Column("DataMigrationClass") - .Column("Version")); + schemaBuilder.CreateTable("Orchard_Framework_DataMigrationRecord", table => table + .Column("Id", column => column.PrimaryKey().Identity()) + .Column("DataMigrationClass") + .Column("Version")); + + schemaBuilder.AlterTable("Orchard_Framework_DataMigrationRecord", + table => table.CreateUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version")); var dataMigrationManager = environment.Resolve(); dataMigrationManager.Update("Settings");