Add Mysql provider#16
Conversation
|
Thanks for this — it's a careful port. The provider mirrors the PostgreSQL one closely, netstandard2.0 matches the other providers, the trigger/CT design is faithful, and the 1:1 One fix needed, and one follow-up ask. 1. EnableChangeTrackingForTable is missing InitializeStoreAsync (needs fixing) MySqlSyncProvider.cs:831 goes straight from validation to resolving the table. All four existing providers initialize first — PostgreSQL :815, Sqlite :822, SqlServer :967, The call is load-bearing, not ceremonial. EnableChangeTrackingForTable → SetupTableForFullChangeDetection → CreateTriggerAsync builds the trigger from table.PrimaryColumnType and Green CI doesn't clear this, and that's structural rather than a gap in the run: Test_MySql_MySql_TestSynchronizationAfterDisabledChangeTrackingForTable and friends all call public async Task EnableChangeTrackingForTable(string name, CancellationToken cancellationToken = default) } DisableChangeTrackingForTable (:857) is correct as-is — dropping a trigger only needs the table name, which is why no provider initializes there. 2. Microting 9.0.8 pins the tests to an EOL runtime (follow-up) Your point about Pomelo stands — its latest stable is still 9.0.0 on net8 with only a 10.0.0-preview.1, while Microting shipped 10.0.10 yesterday. No argument that it's the more The issue is the version, not the fork. Microting.EntityFrameworkCore.MySql 9.0.8 publishes exactly one target — net9.0 — and that's what forced CoreSync.Tests from net8.0 → Microting 10.0.10 targets net10.0 and is current. Could you bump to it and take CoreSync.Tests to net10 instead of net9? Same dependency, same reasoning, current LTS rather than a |
Any source that .net9 support ended in May? Anyway, I will address your comments later. |
|
Yes, sorry, ends at Nov 2026. Feel free to leave it as is at net 9; I need to move the tests project to net 10 in November, anyway. |
Closes #15