Added unique constraints to core settings tables.

This commit is contained in:
Daniel Stolt 2015-08-19 13:57:08 +01:00
parent aae53c3909
commit aa7f9dd1cd
5 changed files with 28 additions and 6 deletions

View File

@ -111,5 +111,27 @@ namespace Orchard.Core.Settings {
return 4;
}
public int UpdateFrom4() {
SchemaBuilder.AlterTable("ContentFieldDefinitionRecord",
table => table.AddUniqueConstraint("UC_ContentFieldDefinitionRecord_Name", "Name"));
SchemaBuilder.AlterTable("ContentPartDefinitionRecord",
table => table.AddUniqueConstraint("UC_ContentPartDefinitionRecord_Name", "Name"));
SchemaBuilder.AlterTable("ContentPartFieldDefinitionRecord",
table => table.AddUniqueConstraint("UC_ContentPartFieldDefinitionRecord_ContentPartDefinitionRecord_Id_Name", "ContentPartDefinitionRecord_Id", "Name"));
SchemaBuilder.AlterTable("ContentTypeDefinitionRecord",
table => table.AddUniqueConstraint("UC_ContentTypeDefinitionRecord_ContentPartDefinitionRecord_Id", "Name"));
SchemaBuilder.AlterTable("ContentTypePartDefinitionRecord",
table => table.AddUniqueConstraint("UC_ContentTypePartDefinitionRecord_ContentPartDefinitionRecord_id_ContentTypeDefinitionRecord_Id", "ContentPartDefinitionRecord_id", "ContentTypeDefinitionRecord_Id"));
// TODO: Orchard creates dupes in this table so no can do for now.
//SchemaBuilder.AlterTable("ShellFeatureRecord",
// table => table.AddUniqueConstraint("UC_ShellFeatureRecord_ShellDescriptorRecord_id_Name", "ShellDescriptorRecord_id", "Name"));
SchemaBuilder.AlterTable("ShellFeatureStateRecord",
table => table.AddUniqueConstraint("UC_ShellFeatureStateRecord_ShellStateRecord_Id_Name", "ShellStateRecord_Id", "Name"));
SchemaBuilder.AlterTable("ShellParameterRecord",
table => table.AddUniqueConstraint("UC_ShellParameterRecord_ShellDescriptorRecord_id_Component_Name", "ShellDescriptorRecord_id", "Component", "Name"));
return 5;
}
}
}

View File

@ -99,7 +99,7 @@ namespace Orchard.ImportExport.Services
.Column<int>("Version"));
schemaBuilder.AlterTable("Orchard_Framework_DataMigrationRecord",
table => table.CreateUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version"));
table => table.AddUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version"));
var dataMigrationManager = environment.Resolve<IDataMigrationManager>();
dataMigrationManager.Update("Settings");

View File

@ -152,7 +152,7 @@ namespace Orchard.Setup.Services {
.Column<int>("Version"));
schemaBuilder.AlterTable("Orchard_Framework_DataMigrationRecord",
table => table.CreateUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version"));
table => table.AddUniqueConstraint("UC_DataMigrationRecord_DataMigrationClass_Version", "DataMigrationClass", "Version"));
var dataMigrationManager = environment.Resolve<IDataMigrationManager>();
dataMigrationManager.Update("Settings");

View File

@ -66,9 +66,9 @@ namespace Orchard.ContentManagement.DataMigrations {
public int UpdateFrom3() {
SchemaBuilder.AlterTable("ContentItemVersionRecord", table => {
table.CreateUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Number", "ContentItemRecord_id", "Number");
table.CreateUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Published", "ContentItemRecord_id", "Published");
table.CreateUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Latest", "ContentItemRecord_id", "Latest");
table.AddUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Number", "ContentItemRecord_id", "Number");
table.AddUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Published", "ContentItemRecord_id", "Published");
table.AddUniqueConstraint("UC_ContentItemVersionRecord_ContentItemRecordId_Latest", "ContentItemRecord_id", "Latest");
});
return 4;

View File

@ -48,7 +48,7 @@ namespace Orchard.Data.Migration.Schema {
TableCommands.Add(command);
}
public void CreateUniqueConstraint(string constraintName, params string[] columnNames) {
public void AddUniqueConstraint(string constraintName, params string[] columnNames) {
var command = new AddUniqueConstraintCommand(Name, constraintName, columnNames);
TableCommands.Add(command);
}