mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-04-05 21:01:35 +08:00
Simplifying the merged migrations in Common and Projections that had conflicts between 1.10.x and dev
This commit is contained in:
parent
b1d1663134
commit
f167c5fac9
src/Orchard.Web
@ -167,33 +167,20 @@ namespace Orchard.Core.Common {
|
||||
return 6;
|
||||
}
|
||||
|
||||
// When upgrading from version 6 of 1.10.x (up until version 9), we'll just execute the same steps, but in a
|
||||
// different order.
|
||||
public int UpdateFrom6() {
|
||||
// This is the original step of the dev branch.
|
||||
AddIndexForIdentityPartRecordIdentifier();
|
||||
// This step's logic is executed together with the original logic from UpdateFrom7 and UpdateFrom8 and in
|
||||
// UpdateFrom8 to make sure that an upgrade is possible from version 6 of both 1.10.x and dev, which both
|
||||
// included these steps, but in a different order.
|
||||
public int UpdateFrom6() => 7;
|
||||
|
||||
return 7;
|
||||
}
|
||||
|
||||
public int UpdateFrom7() {
|
||||
// This is the original step of the dev branch.
|
||||
AddIndexForCommonPartRecordContainerId();
|
||||
|
||||
// When upgrading from version 7 of 1.10.x, this index isn't created yet, so we need to run this step
|
||||
// "again". On the other hand, AddIndexesForCommonPartOwner in UpdateFrom8 won't do anything, because those
|
||||
// indexes were added in the 1.10.x version of UpdateFrom6.
|
||||
AddIndexForIdentityPartRecordIdentifier();
|
||||
|
||||
return 8;
|
||||
}
|
||||
// See UpdateFrom6 for explanation.
|
||||
public int UpdateFrom7() => 8;
|
||||
|
||||
// See UpdateFrom6 for explanation.
|
||||
public int UpdateFrom8() {
|
||||
// This is the original step of the dev branch.
|
||||
AddIndexForIdentityPartRecordIdentifier();
|
||||
|
||||
AddIndexesForCommonPartOwner();
|
||||
|
||||
// When upgrading from version 8 of 1.10.x, this index isn't created yet, so we need to run this step
|
||||
// "again"
|
||||
AddIndexForCommonPartRecordContainerId();
|
||||
|
||||
return 9;
|
||||
@ -208,8 +195,6 @@ namespace Orchard.Core.Common {
|
||||
SchemaBuilder.AlterTable(nameof(IdentityPartRecord), table => table.CreateIndex(
|
||||
indexName,
|
||||
nameof(IdentityPartRecord.Identifier)));
|
||||
|
||||
IndexCreated(nameof(IdentityPartRecord), indexName);
|
||||
}
|
||||
|
||||
// This change was originally UpdateFrom8 on 1.10.x and UpdateFrom7 on dev.
|
||||
@ -220,8 +205,6 @@ namespace Orchard.Core.Common {
|
||||
|
||||
// Container_Id is used in several queries like a foreign key.
|
||||
SchemaBuilder.AlterTable(nameof(CommonPartRecord), table => table.CreateIndex(indexName, "Container_id"));
|
||||
|
||||
IndexCreated(nameof(CommonPartRecord), indexName);
|
||||
}
|
||||
|
||||
// This change was originally UpdateFrom6 on 1.10.x and UpdateFrom8 on dev.
|
||||
@ -258,10 +241,6 @@ namespace Orchard.Core.Common {
|
||||
table.CreateIndex(modifiedUtcIndexName, nameof(CommonPartRecord.OwnerId), nameof(CommonPartRecord.ModifiedUtc));
|
||||
table.CreateIndex(publishedUtcIndexName, nameof(CommonPartRecord.OwnerId), nameof(CommonPartRecord.PublishedUtc));
|
||||
});
|
||||
|
||||
IndexCreated(nameof(CommonPartRecord), createdUtcIndexName);
|
||||
IndexCreated(nameof(CommonPartRecord), modifiedUtcIndexName);
|
||||
IndexCreated(nameof(CommonPartRecord), publishedUtcIndexName);
|
||||
}
|
||||
|
||||
private bool IndexExists(string tableName, string indexName) {
|
||||
@ -286,12 +265,5 @@ namespace Orchard.Core.Common {
|
||||
|
||||
return _existingIndexNames.Contains($"{SchemaBuilder.TableDbName(tableName)}.{tenantTablesPrefix}{indexName}");
|
||||
}
|
||||
|
||||
private void IndexCreated(string tableName, string indexName) {
|
||||
var tenantTablesPrefix = string.IsNullOrEmpty(_shellSettings.DataTablePrefix)
|
||||
? string.Empty : $"{_shellSettings.DataTablePrefix}_";
|
||||
|
||||
_existingIndexNames.Add($"{SchemaBuilder.TableDbName(tableName)}.{tenantTablesPrefix}{indexName}");
|
||||
}
|
||||
}
|
||||
}
|
@ -366,27 +366,21 @@ namespace Orchard.Projections {
|
||||
return 5;
|
||||
}
|
||||
|
||||
// When upgrading from version 5 of 1.10.x (up until version 7), we'll just execute the same steps, but in a
|
||||
// different order.
|
||||
public int UpdateFrom5() {
|
||||
// This is the original step of the dev branch.
|
||||
MigratePropertyRecordToRewriteOutputCondition();
|
||||
|
||||
return 6;
|
||||
}
|
||||
// This step's logic is now executed in UpdateFrom6 as MigratePropertyRecordToRewriteOutputCondition to make
|
||||
// sure that it's executed even when upgrading from version 6 of 1.10.x, which (as opposed to dev) executed the
|
||||
// changes that make up AddLayoutRecordGuid in UpdateFrom6.
|
||||
public int UpdateFrom5() => 6;
|
||||
|
||||
// See UpdateFrom5 for explanation.
|
||||
public int UpdateFrom6() {
|
||||
// This is the original step of the dev branch.
|
||||
AddLayoutRecordGuid();
|
||||
|
||||
// When upgrading from version 6 of 1.10.x, this column isn't created yet, so we need to run this step
|
||||
// "again".
|
||||
MigratePropertyRecordToRewriteOutputCondition();
|
||||
|
||||
return 7;
|
||||
}
|
||||
|
||||
// This change was originally UpdateFrom5 on dev (but didn't exist on 1.10.x).
|
||||
// This change was originally in UpdateFrom5 on dev, but didn't exist on 1.10.x.
|
||||
private void MigratePropertyRecordToRewriteOutputCondition() {
|
||||
if (ColumnExists("PropertyRecord", "RewriteOutputCondition")) return;
|
||||
|
||||
@ -399,8 +393,6 @@ namespace Orchard.Projections {
|
||||
// Reading this obsolete property to migrate its data to a new one.
|
||||
if (property.RewriteOutput) property.RewriteOutputCondition = "true";
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
|
||||
ColumnAdded("PropertyRecord", "RewriteOutputCondition");
|
||||
}
|
||||
|
||||
// This change was originally UpdateFrom5 on 1.10.x and UpdateFrom6 on dev.
|
||||
@ -414,8 +406,6 @@ namespace Orchard.Projections {
|
||||
foreach (var layout in layoutRecords) {
|
||||
layout.GUIdentifier = Guid.NewGuid().ToString();
|
||||
}
|
||||
|
||||
ColumnAdded("LayoutRecord", "GUIdentifier");
|
||||
}
|
||||
|
||||
private bool ColumnExists(string tableName, string columnName) {
|
||||
@ -437,8 +427,5 @@ namespace Orchard.Projections {
|
||||
|
||||
return _existingColumnNames.Contains($"{SchemaBuilder.TableDbName(tableName)}.{columnName}");
|
||||
}
|
||||
|
||||
private void ColumnAdded(string tableName, string columnName) =>
|
||||
_existingColumnNames.Add($"{SchemaBuilder.TableDbName(tableName)}.{columnName}");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user