Skip to content

Commit 3a61efd

Browse files
committed
Version 8.1.0
1 parent e7afe3c commit 3a61efd

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

EfSchemaCompare/EfSchemaCompare.csproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1212
</PackageReference>
1313
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0" />
14+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
1415
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
1516
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
17+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
1618
</ItemGroup>
1719

1820
<PropertyGroup>
@@ -23,8 +25,10 @@
2325
<Description>Useful tool if you are changing the schema of your database's schema outside of EF Core' migrations, say by using SQL change scripts. See readme file on github.</Description>
2426
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
2527
<PackageReleaseNotes>
26-
- Fixed issue #18. i.e "columns that are extra in db are not excluded" is fixed
27-
- IEntityType is obsolete, moved to ITypeBase
28+
- New feature: Checks Json Mapping data, see README for more. Limitation that only works with the default column name
29+
- Fixed issue #18. i.e "columns that are extra in db are not excluded" is fixed
30+
- IEntityType is obsolete, moved to ITypeBase - see https://github.com/dotnet/efcore/issues/34594
31+
- Updated vunables NuGets System.Text.Json and Microsoft.Extensions.Caching.Memory
2832
</PackageReleaseNotes>
2933
<Copyright>Copyright (c) 2020 Jon P Smith. Licenced under MIT licence</Copyright>
3034
<PackageTags>Entity Framework Core, Database</PackageTags>

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,16 @@ _Thanks to GitHub @bgrauer-atacom and @lweberprb for suggesting that this librar
6363
- Table-per-Hierarchy
6464
- Table splitting
6565
- Concurrency tokens
66+
- Json Mapping (see it limitation below)
6667

6768
## List of limitations
6869

6970
- The EF Core's scaffolder doesn't read in any index on the foreign key (the scaffolder assumes EF Core will do that by default). That means I can't check that there is an index on a foreign key.
7071
- Cannot correctly check Table-per-Type or Table-per-Class classes because EF Core doesn't currently hold that data. This is tracked by [Ef Core #19811](https://github.com/dotnet/efcore/issues/19811).
7172
- Cannot compare database tables/columns using InvariantCultureIgnoreCase. That is a EF Core 5+ limitation.
7273
- EfCore.SchemaCompare versions below 8 only support SQL Server, Sqlite and PostgresSql, but version 8 supports all EF Core database providers that can be be scaffolded. However some database providers may show incorrect match errors, because some database providers don't follow the SqlServer style, e.g. CosmosDB
73-
- The EF Core 8 [new features](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew) aren't compared in this release. I may add some later.
74+
- The EF Core 8 [new features](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew) aren't compared in this release. I may add some later.
75+
- The Json Mapping checking assumes you are using the default name for the column, which is the name of the property.
7476

7577
The following are things I haven't bothered to check.
7678

ReleaseNotes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Release notes
22

3+
## 8.1.0
4+
5+
- New feature: Checks Json Mapping data, see README for more. Limitation that only works with the default column name
6+
- Fixed issue #18. i.e "columns that are extra in db are not excluded" is fixed
7+
- IEntityType is obsolete, moved to ITypeBase - see https://github.com/dotnet/efcore/issues/34594
8+
- Updated vunables NuGets System.Text.Json and Microsoft.Extensions.Caching.Memory
9+
310
## 8.0.4
411

512
- REALLY removed Microsoft.IdentityModel.Tokens NuGet as not correct (see issue #36)

Test/UnitTests/TestJsonColumns.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ public void CompareWithErrorsIgnored()
220220
//The comparer.GetAllErrors property returns a string
221221
//where each error is on a separate line
222222
hasErrors.ShouldBeFalse(comparer.GetAllErrors);
223+
223224
}
224225

225226
[Fact]
@@ -238,6 +239,7 @@ public void CompareWithNoIgnores()
238239
//VERIFY
239240
//Just print errors
240241
hasErrors.ShouldBeTrue();
242+
comparer.GetAllErrors.ShouldEqual("EXTRA IN DATABASE: Table 'HeadEntries', column name. Found = DifferentColumnName");
241243
_output.WriteLine(comparer.GetAllErrors);
242244
}
243245
}

0 commit comments

Comments
 (0)