Replies: 7 comments 2 replies
-
New Postgres providerA new provider to sync PostgreSQL databases is now available: https://www.nuget.org/packages/Dotmim.Sync.PostgreSql/ The If you want to test PostgreSQL, you can use this demo AdventureWorks script Then you can use this sample to sync your PostgreSQL database: using Dotmim.Sync.PostgreSql;
var serverProvider = new NpgsqlSyncProvider(serverConnectionString);
var clientProvider = new NpgsqlSyncProvider(clientConnectionString);
// Of course you can use a SQLite / SQL Server / MariaDB / MySQL client as well !
// var clientProvider = new SqliteSyncProvider("test.db");
var setup = new SyncSetup("ProductDescription", "ProductCategory",
"ProductModel", "Product", "Address", "Customer", "CustomerAddress",
"SalesOrderHeader", "SalesOrderDetail");
var options = new SyncOptions { DisableConstraintsOnApplyChanges=true };
var progress = new SynchronousProgress<ProgressArgs>(s =>
Console.WriteLine($"{s.ProgressPercentage:p}: \t[{s?.Source[..Math.Min(4, s.Source.Length)]}] {s.TypeName}: {s.Message}"));
var s = await agent.SynchronizeAsync(setup, progress: progress);
Console.WriteLine(s); Be careful, as for now, the |
Beta Was this translation helpful? Give feedback.
-
Transient errorsAdd new interceptor localOrchestrator.OnRowsChangesFallbackFromBatchToSingleRowApplying(async args =>
{
Console.WriteLine($"- Applying one by one because of an error occurred during batch applying");
Console.WriteLine($"- Error raised causing the fallback: {args.Exception.Message}");
Console.WriteLine($"- Rows count to apply one by one: {args.SyncRows.Count}");
}); Add new interceptor localOrchestrator.OnTransientErrorOccured(async args =>
{
Console.WriteLine($"- Transient error happened: {this.HandledException?.Message}. Retry: {this.Retry}");
}); Add transients error codes for all providers. |
Beta Was this translation helpful? Give feedback.
-
Errors handling |
Beta Was this translation helpful? Give feedback.
-
Great job!!! |
Beta Was this translation helpful? Give feedback.
-
Tested on database syncing ~1million rows across 41 tables. Great work! |
Beta Was this translation helpful? Give feedback.
-
Monitoring sync across 600+ companies globally is a challenge. Any further insight into sync error context is welcome. As I understand FallbackFromBatchToSingleRowApplying occurs when there is a sync error in a batch. Being able to monitor single rows applying gives context to the error. |
Beta Was this translation helpful? Give feedback.
-
Thank you for this great work, @Mimetis! |
Beta Was this translation helpful? Give feedback.
-
New version
v0.9.8
is available on nuget.remoteOrchestrator.NeedsToUpgradeAsync()
anymore)Beta Was this translation helpful? Give feedback.
All reactions