Skip to content

Commit 19b6bd0

Browse files
committed
Merge branch 'release/9.1.1'
2 parents 524a00f + 7ff1296 commit 19b6bd0

32 files changed

+118
-147
lines changed

.config/dotnet-tools.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"gitversion.tool": {
6+
"version": "5.12.0",
7+
"commands": [
8+
"dotnet-gitversion"
9+
]
10+
}
11+
}
12+
}

Changelog.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# NEventStore.Persistence.Sql
22

3+
## 9.1.1
4+
5+
- Target Framework supported: netstandard2.0, net462
6+
- Updated System.Data.SqlClient 4.8.5
7+
- Fix: NEventStore constraint failed with MySql 8.x (works with 5.7) [#487](https://github.com/NEventStore/NEventStore/issues/487)
8+
9+
### Breaking Change
10+
11+
- The fix for [#487](https://github.com/NEventStore/NEventStore/issues/487) changed how the `Commits` table is created for MySql 8.x:
12+
to update an existing database in order to run on 8.x you need to manually update the `Commits` table schema and change the constraint of the `CommitId` column
13+
from: `CommitId binary(16) NOT NULL CHECK (CommitId != 0)` to: `CommitId binary(16) NOT NULL CHECK (CommitId <> 0x00)`.
14+
315
## 9.0.1
416

517
- Added documentation files to NuGet packages (improved intellisense support) [#36](https://github.com/NEventStore/NEventStore.Persistence.SQL/issues/36)

GitVersion.yml

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,5 @@
1-
assembly-versioning-scheme: MajorMinorPatch
21
mode: ContinuousDeployment
3-
tag-prefix: '[vV]'
4-
continuous-delivery-fallback-tag: ci
5-
major-version-bump-message: '\+semver:\s?(breaking|major)'
6-
minor-version-bump-message: '\+semver:\s?(feature|minor)'
7-
patch-version-bump-message: '\+semver:\s?(fix|patch)'
8-
legacy-semver-padding: 4
9-
build-metadata-padding: 4
10-
commit-message-incrementing: Enabled
11-
branches:
12-
master:
13-
mode: ContinuousDelivery
14-
increment: Patch
15-
prevent-increment-of-merged-branch-version: true
16-
track-merge-target: false
17-
release:
18-
mode: ContinuousDeployment
19-
tag: beta
20-
increment: Patch
21-
prevent-increment-of-merged-branch-version: true
22-
track-merge-target: false
23-
feature:
24-
mode: ContinuousDeployment
25-
tag: useBranchName
26-
increment: Inherit
27-
prevent-increment-of-merged-branch-version: false
28-
track-merge-target: false
29-
pull-requests:
30-
regex: (pull|pull\-requests|pr)[/-]
31-
mode: ContinuousDelivery
32-
tag: PullRequest
33-
increment: Inherit
34-
prevent-increment-of-merged-branch-version: false
35-
tag-number-pattern: '[/-](?<number>\d+)[-/]'
36-
track-merge-target: false
37-
source-branches: []
38-
hotfix:
39-
mode: ContinuousDeployment
40-
tag: beta
41-
increment: Patch
42-
prevent-increment-of-merged-branch-version: false
43-
track-merge-target: false
44-
support:
45-
mode: ContinuousDelivery
46-
increment: Patch
47-
prevent-increment-of-merged-branch-version: true
48-
track-merge-target: false
49-
develop:
50-
mode: ContinuousDeployment
51-
tag: unstable
52-
increment: Minor
53-
prevent-increment-of-merged-branch-version: false
54-
track-merge-target: true
2+
branches: {}
553
ignore:
564
sha: []
5+
merge-message-formats: {}

README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ SQL Persistence Engine for NEventStore
55

66
NEventStore.Persistence.Sql currently supports:
77

8-
- .net framework 4.6.1
8+
- .net framework 4.6.2
99
- .net standard 2.0
10-
- .net 5.0
11-
- .net 6.0
1210
- MsSql
1311
- SqlLite
1412
- MySql
@@ -53,10 +51,21 @@ git submodule update
5351

5452
To build the project locally on a Windows Machine:
5553

56-
- Install [Chocolatey](https://chocolatey.org/).
5754
- Optional: update `.\src\.nuget\NEventStore.Persistence.Sql.nuspec` file if needed (before creating relase packages).
5855
- Open a Powershell console in Administrative mode and run the build script `build.ps1` in the root of the repository.
5956

57+
## How to Run Unit Tests (locally)
58+
59+
- Install Database engines or use Docker to run them in a container (you can use the scripts in `./docker` folder).
60+
- Define the following environment variables:
61+
62+
```
63+
NEventStore.MsSql="Server=localhost,50001;Database=NEventStore;User Id=sa;Password=Password1;"
64+
NEventStore.MySql="Server=localhost;Port=50003;Database=NEventStore;Uid=sa;Pwd=Password1;AutoEnlist=false;"
65+
NEventStore.PostgreSql="Server=localhost;Port=50004;Database=NEventStore;Uid=sa;Pwd=Password1;Enlist=false;"
66+
NEventStore.Oracle="Data Source=localhost:1521/XE;User Id=system;Password=Password1;Persist Security Info=True;"
67+
```
68+
6069
## How to contribute
6170

6271
### Git-Flow

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ test_script:
8888
iex "& $pgcmd"
8989
9090
91-
nunit3-console "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.MsSql.Tests\bin\Release\net461\NEventStore.Persistence.MsSql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.MySql.Tests\bin\Release\net461\NEventStore.Persistence.MySql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.PostgreSql.Tests\bin\Release\net461\NEventStore.Persistence.PostgreSql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.Sqlite.Tests\bin\Release\net461\NEventStore.Persistence.Sqlite.Tests.dll" --workers=0 --result=testsresults.xml;
91+
nunit3-console "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.MsSql.Tests\bin\Release\net462\NEventStore.Persistence.MsSql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.MySql.Tests\bin\Release\net462\NEventStore.Persistence.MySql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.PostgreSql.Tests\bin\Release\net462\NEventStore.Persistence.PostgreSql.Tests.dll" "C:\projects\neventstore-persistence-sql\src\NEventStore.Persistence.Sqlite.Tests\bin\Release\net462\NEventStore.Persistence.Sqlite.Tests.dll" --workers=0 --result=testsresults.xml;
9292
9393
9494
# upload results to AppVeyor

build.ps1

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,21 @@ if ($configuration -eq '') {
77
}
88
$runtests = Read-Host 'Run Tests (y / n) [default:n] ?'
99

10-
# Consider using NuGet to download the package (GitVersion.CommandLine)
11-
choco install gitversion.portable --pre --y
12-
choco upgrade gitversion.portable --pre --y
13-
choco install nuget.commandline
14-
choco upgrade nuget.commandline
10+
# Install gitversion tool
11+
dotnet tool restore
1512

1613
# Display minimal restore information
1714
dotnet restore ./src/NEventStore.Persistence.Sql.Core.sln --verbosity m
1815

1916
# GitVersion (for the main module)
2017
Write-Host "Running GitVersion for the Project"
21-
$str = gitversion /updateAssemblyInfo | out-string
18+
$str = dotnet tool run dotnet-gitversion /updateAssemblyInfo | out-string
2219
$json = convertFrom-json $str
2320
$nugetversion = $json.NuGetVersion
2421

2522
# Now we need to patch the AssemblyInfo for submodules
2623
Write-Host "Running GitVersion for the Dependencies"
27-
gitversion ".\dependencies\NEventStore" /updateAssemblyInfo | Out-Null
24+
dotnet tool run dotnet-gitversion ".\dependencies\NEventStore" /updateAssemblyInfo | Out-Null
2825

2926
# Build
3027
Write-Host "Building: "$nugetversion" "$configuration

dependencies/NEventStore

Submodule NEventStore updated 31 files

docker/docker-compose.ci.linux.db.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
mysql:
3333
container_name: nesci-mysql-1
3434
platform: linux
35-
image: mysql:5.7
35+
image: mysql:8.0 #5.7
3636
command: --default-authentication-plugin=mysql_native_password
3737
restart: always
3838
environment:

docker/docker-compose.ci.windows.db.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
mysql:
3333
container_name: nesci-mysql-1
3434
platform: windows
35-
image: mysql:5.7
35+
image: mysql:8.0 #5.7
3636
command: --default-authentication-plugin=mysql_native_password
3737
restart: always
3838
environment:

src/.nuget/NEventStore.Persistence.Sql.nuspec

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,31 +20,21 @@
2020
6.x.x versions
2121
-->
2222
<dependencies>
23-
<group targetFramework=".NETFramework4.6.1">
24-
<dependency id="NEventStore" version="[9.0.0,10.0.0)" exclude="Build,Analyzers"/>
25-
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" exclude="Build,Analyzers" />
26-
<dependency id="System.Data.SqlClient" version="4.8.3" exclude="Build,Analyzers" />
27-
</group>
28-
<group targetFramework="net6.0">
29-
<dependency id="NEventStore" version="[9.0.0, 10.0.0)" exclude="Build,Analyzers" />
30-
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" exclude="Build,Analyzers" />
31-
<dependency id="System.Data.SqlClient" version="4.8.3" exclude="Build,Analyzers" />
32-
</group>
33-
<group targetFramework="net5.0">
34-
<dependency id="NEventStore" version="[9.0.0, 10.0.0)" exclude="Build,Analyzers" />
35-
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" exclude="Build,Analyzers" />
23+
<group targetFramework=".NETFramework4.6.2">
24+
<dependency id="NEventStore" version="[9.1.1,10.0.0)" exclude="Build,Analyzers"/>
25+
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="7.0.1" exclude="Build,Analyzers" />
3626
<dependency id="System.Data.SqlClient" version="4.8.3" exclude="Build,Analyzers" />
3727
</group>
3828
<group targetFramework=".NETStandard2.0">
39-
<dependency id="NEventStore" version="[9.0.0,10.0.0)" exclude="Build,Analyzers"/>
40-
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="6.0.0" exclude="Build,Analyzers" />
41-
<dependency id="System.Data.SqlClient" version="4.8.3" exclude="Build,Analyzers" />
29+
<dependency id="NEventStore" version="[9.1.1,10.0.0)" exclude="Build,Analyzers"/>
30+
<dependency id="Microsoft.Extensions.Logging.Abstractions" version="7.0.1" exclude="Build,Analyzers" />
31+
<dependency id="System.Data.SqlClient" version="4.8.5" exclude="Build,Analyzers" />
4232
</group>
4333
</dependencies>
4434
<frameworkAssemblies>
45-
<frameworkAssembly assemblyName="System.Configuration" targetFramework=".NETFramework4.6.1" />
46-
<frameworkAssembly assemblyName="System.Transactions" targetFramework=".NETFramework4.6.1" />
47-
<frameworkAssembly assemblyName="System.Web" targetFramework=".NETFramework4.6.1" />
35+
<frameworkAssembly assemblyName="System.Configuration" targetFramework=".NETFramework4.6.2" />
36+
<frameworkAssembly assemblyName="System.Transactions" targetFramework=".NETFramework4.6.2" />
37+
<frameworkAssembly assemblyName="System.Web" targetFramework=".NETFramework4.6.2" />
4838
</frameworkAssemblies>
4939
</metadata>
5040
<files>

src/NEventStore.Persistence.MsSql.Tests/NEventStore.Persistence.MsSql.Core.Tests.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net461</TargetFrameworks>
4+
<TargetFrameworks>net7.0;net462</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
<AssemblyName>NEventStore.Persistence.MsSql.Tests</AssemblyName>
@@ -14,16 +14,16 @@
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17-
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
17+
<PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
1818
</ItemGroup>
19-
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
19+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
2020
<Reference Include="System.Transactions" />
2121
</ItemGroup>
2222
<ItemGroup>
23-
<PackageReference Include="FluentAssertions" Version="6.2.0" />
24-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
25-
<PackageReference Include="NUnit" Version="3.13.2" />
26-
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
23+
<PackageReference Include="FluentAssertions" Version="6.11.0" />
24+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
25+
<PackageReference Include="NUnit" Version="3.13.3" />
26+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
2727
</ItemGroup>
2828

2929
<ItemGroup>

src/NEventStore.Persistence.MsSql.Tests/PersistenceEngineFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public partial class PersistenceEngineFixture
1818

1919
public PersistenceEngineFixture()
2020
{
21-
#if NET461
21+
#if NET462
2222
_createPersistence = pageSize =>
2323
new SqlPersistenceFactory(new EnviromentConnectionFactory("MsSql", "System.Data.SqlClient"),
2424
new BinarySerializer(),

src/NEventStore.Persistence.MsSql.Tests/TransactionIsolationLevelTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System.Linq;
55
using System.Transactions;
66
using FluentAssertions;
7-
#if NET461
7+
#if NET462
88
using NEventStore.Diagnostics;
99
#endif
1010
using NEventStore.Persistence.AcceptanceTests.BDD;
@@ -123,7 +123,7 @@ public class IsolationLevelPersistenceEngineFixture
123123
public IsolationLevelPersistenceEngineFixture()
124124
{
125125
_recorder = new IsolationLevelRecorder();
126-
#if NET461
126+
#if NET462
127127
_connectionFactory = new EnviromentConnectionFactory("MsSql", "System.Data.SqlClient");
128128
#else
129129
_connectionFactory = new EnviromentConnectionFactory("MsSql", System.Data.SqlClient.SqlClientFactory.Instance);
@@ -141,7 +141,7 @@ public void Initialize()
141141
_persistence.Drop();
142142
_persistence.Dispose();
143143
}
144-
#if NET461
144+
#if NET462
145145
_persistence = new PerformanceCounterPersistenceEngine(_createPersistence(), "tests");
146146
#else
147147
_persistence = _createPersistence();

src/NEventStore.Persistence.MsSql.Tests/WireupTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ protected override void Context()
3131
{
3232
_eventStore = Wireup
3333
.Init()
34-
#if NET461
34+
#if NET462
3535
.UsingSqlPersistence(new EnviromentConnectionFactory("MsSql", "System.Data.SqlClient"))
3636
#else
3737
.UsingSqlPersistence(new EnviromentConnectionFactory("MsSql", System.Data.SqlClient.SqlClientFactory.Instance))

src/NEventStore.Persistence.MySql.Tests/NEventStore.Persistence.MySql.Core.Tests.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net461</TargetFrameworks>
4+
<TargetFrameworks>net7.0;net462</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
<AssemblyName>NEventStore.Persistence.MySql.Tests</AssemblyName>
@@ -14,17 +14,17 @@
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17-
<PackageReference Include="MySql.Data" Version="8.0.27" />
17+
<PackageReference Include="MySql.Data" Version="8.1.0" />
1818
</ItemGroup>
19-
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
19+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
2020
<Reference Include="System.Data" />
2121
<Reference Include="System.Transactions" />
2222
</ItemGroup>
2323
<ItemGroup>
24-
<PackageReference Include="FluentAssertions" Version="6.2.0" />
25-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
26-
<PackageReference Include="NUnit" Version="3.13.2" />
27-
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
24+
<PackageReference Include="FluentAssertions" Version="6.11.0" />
25+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
26+
<PackageReference Include="NUnit" Version="3.13.3" />
27+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
2828
</ItemGroup>
2929

3030
<ItemGroup>

src/NEventStore.Persistence.MySql.Tests/PersistenceEngineFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public partial class PersistenceEngineFixture
1111
{
1212
public PersistenceEngineFixture()
1313
{
14-
#if NET461
14+
#if NET462
1515
_createPersistence = pageSize =>
1616
new SqlPersistenceFactory(
1717
new EnviromentConnectionFactory("MySql", "MySql.Data.MySqlClient"),

src/NEventStore.Persistence.MySql.Tests/app.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<system.data>
44
<DbProviderFactories>
55
<remove invariant="MySql.Data.MySqlClient"/>
6-
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.27.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
6+
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.1.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
77
</DbProviderFactories>
88
</system.data>
99
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>

src/NEventStore.Persistence.PostgreSql.Tests/NEventStore.Persistence.PostgreSql.Core.Tests.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net461</TargetFrameworks>
4+
<TargetFrameworks>net7.0;net462</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
<AssemblyName>NEventStore.Persistence.PostgreSql.Tests</AssemblyName>
@@ -13,15 +13,15 @@
1313
<DefineConstants Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">NUNIT</DefineConstants>
1414
</PropertyGroup>
1515

16-
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
16+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
1717
<Reference Include="System.Transactions" />
1818
</ItemGroup>
1919
<ItemGroup>
20-
<PackageReference Include="Npgsql" Version="6.0.0" />
21-
<PackageReference Include="FluentAssertions" Version="6.2.0" />
22-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
23-
<PackageReference Include="NUnit" Version="3.13.2" />
24-
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
20+
<PackageReference Include="Npgsql" Version="7.0.4" />
21+
<PackageReference Include="FluentAssertions" Version="6.11.0" />
22+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
23+
<PackageReference Include="NUnit" Version="3.13.3" />
24+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
2525
</ItemGroup>
2626

2727
<ItemGroup>

src/NEventStore.Persistence.PostgreSql.Tests/PersistenceEngineFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public PersistenceEngineFixture()
1414
// It will be done when creating the PostgreNpgsql6Dialect dialect
1515
// AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
1616

17-
#if NET461
17+
#if NET462
1818
_createPersistence = pageSize =>
1919
new SqlPersistenceFactory(
2020
new EnviromentConnectionFactory("PostgreSql", "Npgsql"),

0 commit comments

Comments
 (0)