From d7ce136107a7867d9c44a6a9fd03d43f80fdbfe5 Mon Sep 17 00:00:00 2001 From: Paul Johnson Date: Tue, 7 Jun 2022 11:41:46 +0100 Subject: [PATCH] v10: Prefer SQLite primitive types to flexible types (#12541) * Prefer SQLite primitive types to flexible types. * SQLite - column mappings use TEXT for decimals Thanks @mattbrailsford for sense check. --- .../Services/SqliteSyntaxProvider.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Umbraco.Cms.Persistence.Sqlite/Services/SqliteSyntaxProvider.cs b/src/Umbraco.Cms.Persistence.Sqlite/Services/SqliteSyntaxProvider.cs index f7d3a299ef..4f90817e47 100644 --- a/src/Umbraco.Cms.Persistence.Sqlite/Services/SqliteSyntaxProvider.cs +++ b/src/Umbraco.Cms.Persistence.Sqlite/Services/SqliteSyntaxProvider.cs @@ -38,6 +38,20 @@ public class SqliteSyntaxProvider : SqlSyntaxProviderBase [typeof(Guid)] = new SqliteGuidScalarMapper(), [typeof(Guid?)] = new SqliteNullableGuidScalarMapper(), }; + + IntColumnDefinition = "INTEGER"; + LongColumnDefinition = "INTEGER"; + BoolColumnDefinition = "INTEGER"; + + GuidColumnDefinition = "TEXT"; + DateTimeColumnDefinition = "TEXT"; + DateTimeOffsetColumnDefinition = "TEXT"; + TimeColumnDefinition = "TEXT"; + DecimalColumnDefinition = "TEXT"; // REAL would be lossy. - https://docs.microsoft.com/en-us/dotnet/standard/data/sqlite/types + + RealColumnDefinition = "REAL"; + + BlobColumnDefinition = "BLOB"; } ///