diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
index 5cc818a6d2..b33e624576 100644
--- a/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
+++ b/src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
@@ -50,8 +50,6 @@ namespace Umbraco.Core.Migrations.Install
typeof (MemberTypeDto),
typeof (MemberDto),
typeof (Member2MemberGroupDto),
- typeof (ContentXmlDto),
- typeof (PreviewXmlDto),
typeof (PropertyTypeGroupDto),
typeof (PropertyTypeDto),
typeof (PropertyDataDto),
diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropTaskTables.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropTaskTables.cs
index 008b3e4b5f..061b96976a 100644
--- a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropTaskTables.cs
+++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropTaskTables.cs
@@ -1,6 +1,5 @@
namespace Umbraco.Core.Migrations.Upgrade.V_8_0_0
{
-
public class DropTaskTables : MigrationBase
{
public DropTaskTables(IMigrationContext context)
diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropXmlTables.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropXmlTables.cs
new file mode 100644
index 0000000000..be79178932
--- /dev/null
+++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DropXmlTables.cs
@@ -0,0 +1,17 @@
+namespace Umbraco.Core.Migrations.Upgrade.V_8_0_0
+{
+ public class DropXmlTables : MigrationBase
+ {
+ public DropXmlTables(IMigrationContext context)
+ : base(context)
+ { }
+
+ public override void Migrate()
+ {
+ if (TableExists("cmsContentXml"))
+ Delete.Table("cmsContentXml").Do();
+ if (TableExists("cmsPreviewXml"))
+ Delete.Table("cmsPreviewXml").Do();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs b/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
index b874c6e04a..b62a99ce83 100644
--- a/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
+++ b/src/Umbraco.Core/Persistence/Constants-DatabaseSchema.cs
@@ -5,17 +5,16 @@ namespace Umbraco.Core
{
public static class DatabaseSchema
{
+ //TODO: Why aren't all table names with the same prefix?
public const string TableNamePrefix = "umbraco";
public static class Tables
{
- public const string Lock = /*TableNamePrefix*/ "umbraco" + "Lock";
- public const string Log = /*TableNamePrefix*/ "umbraco" + "Log";
+ public const string Lock = TableNamePrefix + "Lock";
+ public const string Log = TableNamePrefix + "Log";
- public const string Node = /*TableNamePrefix*/ "umbraco" + "Node";
+ public const string Node = TableNamePrefix + "Node";
public const string NodeData = /*TableNamePrefix*/ "cms" + "ContentNu";
- public const string NodeXml = /*TableNamePrefix*/ "cms" + "ContentXml"; // TODO: get rid of these with the xml cache
- public const string NodePreviewXml = /*TableNamePrefix*/ "cms" + "PreviewXml"; // TODO: get rid of these with the xml cache
public const string ContentType = /*TableNamePrefix*/ "cms" + "ContentType";
public const string ContentChildType = /*TableNamePrefix*/ "cms" + "ContentTypeAllowedContentType";
@@ -37,22 +36,22 @@ namespace Umbraco.Core
public const string PropertyTypeGroup = /*TableNamePrefix*/ "cms" + "PropertyTypeGroup";
public const string PropertyData = TableNamePrefix + "PropertyData";
- public const string RelationType = /*TableNamePrefix*/ "umbraco" + "RelationType";
- public const string Relation = /*TableNamePrefix*/ "umbraco" + "Relation";
+ public const string RelationType = TableNamePrefix + "RelationType";
+ public const string Relation = TableNamePrefix + "Relation";
- public const string Domain = /*TableNamePrefix*/ "umbraco" + "Domain";
- public const string Language = /*TableNamePrefix*/ "umbraco" + "Language";
+ public const string Domain = TableNamePrefix + "Domain";
+ public const string Language = TableNamePrefix + "Language";
public const string DictionaryEntry = /*TableNamePrefix*/ "cms" + "Dictionary";
public const string DictionaryValue = /*TableNamePrefix*/ "cms" + "LanguageText";
- public const string User = /*TableNamePrefix*/ "umbraco" + "User";
- public const string UserGroup = /*TableNamePrefix*/ "umbraco" + "UserGroup";
- public const string UserStartNode = /*TableNamePrefix*/ "umbraco" + "UserStartNode";
- public const string User2UserGroup = /*TableNamePrefix*/ "umbraco" + "User2UserGroup";
- public const string User2NodeNotify = /*TableNamePrefix*/ "umbraco" + "User2NodeNotify";
- public const string UserGroup2App = /*TableNamePrefix*/ "umbraco" + "UserGroup2App";
- public const string UserGroup2NodePermission = /*TableNamePrefix*/ "umbraco" + "UserGroup2NodePermission";
- public const string ExternalLogin = /*TableNamePrefix*/ "umbraco" + "ExternalLogin";
+ public const string User = TableNamePrefix + "User";
+ public const string UserGroup = TableNamePrefix + "UserGroup";
+ public const string UserStartNode = TableNamePrefix + "UserStartNode";
+ public const string User2UserGroup = TableNamePrefix + "User2UserGroup";
+ public const string User2NodeNotify = TableNamePrefix + "User2NodeNotify";
+ public const string UserGroup2App = TableNamePrefix + "UserGroup2App";
+ public const string UserGroup2NodePermission = TableNamePrefix + "UserGroup2NodePermission";
+ public const string ExternalLogin = TableNamePrefix + "ExternalLogin";
public const string Macro = /*TableNamePrefix*/ "cms" + "Macro";
public const string MacroProperty = /*TableNamePrefix*/ "cms" + "MacroProperty";
@@ -61,21 +60,21 @@ namespace Umbraco.Core
public const string MemberType = /*TableNamePrefix*/ "cms" + "MemberType";
public const string Member2MemberGroup = /*TableNamePrefix*/ "cms" + "Member2MemberGroup";
- public const string Access = /*TableNamePrefix*/ "umbraco" + "Access";
- public const string AccessRule = /*TableNamePrefix*/ "umbraco" + "AccessRule";
- public const string RedirectUrl = /*TableNamePrefix*/ "umbraco" + "RedirectUrl";
+ public const string Access = TableNamePrefix + "Access";
+ public const string AccessRule = TableNamePrefix + "AccessRule";
+ public const string RedirectUrl = TableNamePrefix + "RedirectUrl";
- public const string CacheInstruction = /*TableNamePrefix*/ "umbraco" + "CacheInstruction";
- public const string Server = /*TableNamePrefix*/ "umbraco" + "Server";
+ public const string CacheInstruction = TableNamePrefix + "CacheInstruction";
+ public const string Server = TableNamePrefix + "Server";
public const string Tag = /*TableNamePrefix*/ "cms" + "Tags";
public const string TagRelationship = /*TableNamePrefix*/ "cms" + "TagRelationship";
public const string KeyValue = TableNamePrefix + "KeyValue";
- public const string AuditEntry = /*TableNamePrefix*/ "umbraco" + "Audit";
- public const string Consent = /*TableNamePrefix*/ "umbraco" + "Consent";
- public const string UserLogin = /*TableNamePrefix*/ "umbraco" + "UserLogin";
+ public const string AuditEntry = TableNamePrefix + "Audit";
+ public const string Consent = TableNamePrefix + "Consent";
+ public const string UserLogin = TableNamePrefix + "UserLogin";
}
}
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
index d8e6fd2c0e..24b50d294b 100644
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
@@ -202,10 +202,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
"DELETE FROM " + Constants.DatabaseSchema.Tables.DocumentCultureVariation + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.DocumentVersion + " WHERE id IN (SELECT id FROM " + Constants.DatabaseSchema.Tables.ContentVersion + " WHERE nodeId = @id)",
"DELETE FROM " + Constants.DatabaseSchema.Tables.PropertyData + " WHERE versionId IN (SELECT id FROM " + Constants.DatabaseSchema.Tables.ContentVersion + " WHERE nodeId = @id)",
- "DELETE FROM cmsPreviewXml WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.ContentVersionCultureVariation + " WHERE versionId IN (SELECT id FROM " + Constants.DatabaseSchema.Tables.ContentVersion + " WHERE nodeId = @id)",
"DELETE FROM " + Constants.DatabaseSchema.Tables.ContentVersion + " WHERE nodeId = @id",
- "DELETE FROM cmsContentXml WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.Content + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.Access + " WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.Node + " WHERE id = @id"
diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberRepository.cs
index ba3526f1f0..808f61305a 100644
--- a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberRepository.cs
@@ -188,7 +188,6 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
"DELETE FROM cmsMember2MemberGroup WHERE Member = @id",
"DELETE FROM cmsMember WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.ContentVersion + " WHERE nodeId = @id",
- "DELETE FROM cmsContentXml WHERE nodeId = @id",
"DELETE FROM " + Constants.DatabaseSchema.Tables.Content + " WHERE nodeId = @id",
"DELETE FROM umbracoNode WHERE id = @id"
};
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index f5bdc417bd..57aee5ffbf 100755
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -379,6 +379,7 @@
+
@@ -826,7 +827,6 @@
-
@@ -846,7 +846,6 @@
-
diff --git a/src/Umbraco.Core/Persistence/Dtos/ContentXmlDto.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/ContentXmlDto.cs
similarity index 81%
rename from src/Umbraco.Core/Persistence/Dtos/ContentXmlDto.cs
rename to src/Umbraco.Tests/LegacyXmlPublishedCache/ContentXmlDto.cs
index 5929f5cb81..2f2c1e787a 100644
--- a/src/Umbraco.Core/Persistence/Dtos/ContentXmlDto.cs
+++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/ContentXmlDto.cs
@@ -1,9 +1,10 @@
using NPoco;
using Umbraco.Core.Persistence.DatabaseAnnotations;
+using Umbraco.Core.Persistence.Dtos;
-namespace Umbraco.Core.Persistence.Dtos
+namespace Umbraco.Tests.LegacyXmlPublishedCache
{
- [TableName(Constants.DatabaseSchema.Tables.NodeXml)]
+ [TableName("cmsContentXml")]
[PrimaryKey("nodeId", AutoIncrement = false)]
[ExplicitColumns]
internal class ContentXmlDto
@@ -20,4 +21,4 @@ namespace Umbraco.Core.Persistence.Dtos
[Column("rv")]
public long Rv { get; set; }
}
-}
+}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Dtos/PreviewXmlDto.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewXmlDto.cs
similarity index 81%
rename from src/Umbraco.Core/Persistence/Dtos/PreviewXmlDto.cs
rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewXmlDto.cs
index 40cc50b00a..4fcbef820a 100644
--- a/src/Umbraco.Core/Persistence/Dtos/PreviewXmlDto.cs
+++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewXmlDto.cs
@@ -1,9 +1,10 @@
using NPoco;
using Umbraco.Core.Persistence.DatabaseAnnotations;
+using Umbraco.Core.Persistence.Dtos;
-namespace Umbraco.Core.Persistence.Dtos
+namespace Umbraco.Tests.LegacyXmlPublishedCache
{
- [TableName(Constants.DatabaseSchema.Tables.NodePreviewXml)]
+ [TableName("cmsPreviewXml")]
[PrimaryKey("nodeId", AutoIncrement = false)]
[ExplicitColumns]
internal class PreviewXmlDto
@@ -20,4 +21,4 @@ namespace Umbraco.Core.Persistence.Dtos
[Column("rv")]
public long Rv { get; set; }
}
-}
+}
\ No newline at end of file
diff --git a/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs
index 6dec9f2448..3b675c2f07 100644
--- a/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs
+++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs
@@ -12,7 +12,6 @@ using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence;
-using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
diff --git a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
index 38daa2c1a7..dcbf5919eb 100644
--- a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
+++ b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
@@ -5,6 +5,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Migrations.Install;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Dtos;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
diff --git a/src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs b/src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs
index 557de9eb11..1d87bb35e7 100644
--- a/src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs
+++ b/src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs
@@ -14,6 +14,7 @@ using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Scoping;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs
index 85c195e553..bcbf01d3f0 100644
--- a/src/Umbraco.Tests/Services/ContentServiceTests.cs
+++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs
@@ -18,6 +18,7 @@ using Umbraco.Core.Services.Implement;
using Umbraco.Tests.Testing;
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Cache;
+using Umbraco.Tests.LegacyXmlPublishedCache;
namespace Umbraco.Tests.Services
{
diff --git a/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs b/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs
index 7a7aad6905..341371ca02 100644
--- a/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs
+++ b/src/Umbraco.Tests/Services/ContentTypeServiceTests.cs
@@ -10,6 +10,7 @@ using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
using Umbraco.Tests.Scoping;
diff --git a/src/Umbraco.Tests/Services/MediaServiceTests.cs b/src/Umbraco.Tests/Services/MediaServiceTests.cs
index b9e1fee0db..17711fbd31 100644
--- a/src/Umbraco.Tests/Services/MediaServiceTests.cs
+++ b/src/Umbraco.Tests/Services/MediaServiceTests.cs
@@ -14,6 +14,7 @@ using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
diff --git a/src/Umbraco.Tests/Services/MemberServiceTests.cs b/src/Umbraco.Tests/Services/MemberServiceTests.cs
index 0c9c543b0d..98553941cd 100644
--- a/src/Umbraco.Tests/Services/MemberServiceTests.cs
+++ b/src/Umbraco.Tests/Services/MemberServiceTests.cs
@@ -17,6 +17,7 @@ using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
using Umbraco.Web.Security.Providers;
diff --git a/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs b/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs
index 5f4a87c3eb..24709469e9 100644
--- a/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs
+++ b/src/Umbraco.Tests/Services/MemberTypeServiceTests.cs
@@ -5,6 +5,7 @@ using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Dtos;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
diff --git a/src/Umbraco.Tests/Services/PerformanceTests.cs b/src/Umbraco.Tests/Services/PerformanceTests.cs
index 7d73d95e74..449e933c24 100644
--- a/src/Umbraco.Tests/Services/PerformanceTests.cs
+++ b/src/Umbraco.Tests/Services/PerformanceTests.cs
@@ -13,6 +13,7 @@ using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
+using Umbraco.Tests.LegacyXmlPublishedCache;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.TestHelpers.Stubs;
diff --git a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs
index 2bfc1b6dc8..643deab304 100644
--- a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs
+++ b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs
@@ -307,6 +307,13 @@ namespace Umbraco.Tests.TestHelpers
var schemaHelper = new DatabaseSchemaCreator(scope.Database, Logger);
//Create the umbraco database and its base data
schemaHelper.InitializeDatabaseSchema();
+
+ //Special case, we need to create the xml cache tables manually since they are not part of the default
+ //setup.
+ //TODO: Remove this when we update all tests to use nucache
+ schemaHelper.CreateTable();
+ schemaHelper.CreateTable();
+
scope.Complete();
}
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index e0ad304c4f..5aa1588ef2 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -126,6 +126,8 @@
+
+