Merge pull request #7567 from stevemegson/v8/pr/migrations/edited-flag
Migrations - setting edited flag for versions
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using Umbraco.Core.Migrations.Install;
|
||||
@@ -270,7 +271,7 @@ WHERE versionId NOT IN (SELECT (versionId) FROM {PreTables.ContentVersion} WHERE
|
||||
if (!ColumnExists(PreTables.Document, "edited"))
|
||||
{
|
||||
AddColumn<DocumentDto>(PreTables.Document, "edited", out var sqls);
|
||||
Database.Execute($"UPDATE {SqlSyntax.GetQuotedTableName(PreTables.Document)} SET edited=0");
|
||||
Database.Execute($"UPDATE {SqlSyntax.GetQuotedTableName(PreTables.Document)} SET edited=~published");
|
||||
foreach (var sql in sqls) Database.Execute(sql);
|
||||
}
|
||||
|
||||
@@ -287,11 +288,15 @@ JOIN {Constants.DatabaseSchema.Tables.PropertyData} v1 ON cv1.id=v1.versionId
|
||||
JOIN {PreTables.ContentVersion} cv2 ON n.id=cv2.nodeId
|
||||
JOIN {Constants.DatabaseSchema.Tables.DocumentVersion} dv ON cv2.id=dv.id AND dv.published=1
|
||||
JOIN {Constants.DatabaseSchema.Tables.PropertyData} v2 ON cv2.id=v2.versionId
|
||||
WHERE v1.propertyTypeId=v2.propertyTypeId AND v1.languageId=v2.languageId AND v1.segment=v2.segment");
|
||||
WHERE v1.propertyTypeId=v2.propertyTypeId
|
||||
AND (v1.languageId=v2.languageId OR (v1.languageId IS NULL AND v2.languageId IS NULL))
|
||||
AND (v1.segment=v2.segment OR (v1.segment IS NULL AND v2.segment IS NULL))");
|
||||
|
||||
var updatedIds = new HashSet<int>();
|
||||
foreach (var t in temp)
|
||||
if (t.intValue1 != t.intValue2 || t.decimalValue1 != t.decimalValue2 || t.dateValue1 != t.dateValue2 || t.varcharValue1 != t.varcharValue2 || t.textValue1 != t.textValue2)
|
||||
Database.Execute("UPDATE {SqlSyntax.GetQuotedTableName(PreTables.Document)} SET edited=1 WHERE nodeId=@nodeIdd", new { t.id });
|
||||
if (updatedIds.Add((int)t.id))
|
||||
Database.Execute($"UPDATE {SqlSyntax.GetQuotedTableName(PreTables.Document)} SET edited=1 WHERE nodeId=@nodeId", new { nodeId = t.id });
|
||||
|
||||
// drop more columns
|
||||
Delete.Column("versionId").FromTable(PreTables.ContentVersion).Do();
|
||||
|
||||
Reference in New Issue
Block a user