All Projects → Mimetis → Dotmim.sync

Mimetis / Dotmim.sync

Licence: mit
A brand new database synchronization framework, multi platform, multi databases, developed on top of .Net Standard 2.0. https://dotmimsync.readthedocs.io/

Projects that are alternatives of or similar to Dotmim.sync

Nut
Advanced, Powerful and easy to use ORM for Qt
Stars: ✭ 181 (-55.42%)
Mutual labels:  sql, database, mysql, sqlite, sql-server
Beekeeper Studio
Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
Stars: ✭ 8,053 (+1883.5%)
Mutual labels:  sql, database, mysql, sqlite, sql-server
Electrocrud
Database CRUD Application Built on Electron | MySQL, Postgres, SQLite
Stars: ✭ 1,267 (+212.07%)
Mutual labels:  sql, database, mysql, sqlite
Qtl
A friendly and lightweight C++ database library for MySQL, PostgreSQL, SQLite and ODBC.
Stars: ✭ 92 (-77.34%)
Mutual labels:  sql, database, mysql, sqlite
Goose
A database migration tool. Supports SQL migrations and Go functions.
Stars: ✭ 2,112 (+420.2%)
Mutual labels:  sql, database, mysql, sqlite
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+1799.51%)
Mutual labels:  sql, database, mysql, sqlite
Goqu
SQL builder and query library for golang
Stars: ✭ 984 (+142.36%)
Mutual labels:  sql, database, mysql, sqlite
Dbeaver
Free universal database tool and SQL client
Stars: ✭ 23,752 (+5750.25%)
Mutual labels:  sql, database, mysql, sqlite
Go Mysql Server
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
Stars: ✭ 445 (+9.61%)
Mutual labels:  sql, database, mysql, sql-server
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+444.58%)
Mutual labels:  sql, database, mysql, sqlite
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 2,315 (+470.2%)
Mutual labels:  sql, database, mysql, sqlite
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+597.54%)
Mutual labels:  sql, database, mysql, sqlite
Go Sqlbuilder
A flexible and powerful SQL string builder library plus a zero-config ORM.
Stars: ✭ 539 (+32.76%)
Mutual labels:  sql, database, mysql, sqlite
Ebean
Ebean ORM
Stars: ✭ 1,172 (+188.67%)
Mutual labels:  sql, database, mysql, sqlite
Evolve
Database migration tool for .NET and .NET Core projects. Inspired by Flyway.
Stars: ✭ 477 (+17.49%)
Mutual labels:  sql, database, mysql, sqlite
Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (-68.72%)
Mutual labels:  sql, database, mysql, sqlite
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview)
Stars: ✭ 18,168 (+4374.88%)
Mutual labels:  database, mysql, sql-server, sqlite
Querybuilder
SQL query builder, written in c#, helps you build complex queries easily, supports SqlServer, MySql, PostgreSql, Oracle, Sqlite and Firebird
Stars: ✭ 2,111 (+419.95%)
Mutual labels:  sql, database, mysql, sql-server
Fluentmigrator
Fluent migrations framework for .NET
Stars: ✭ 2,636 (+549.26%)
Mutual labels:  sql, database, mysql, sql-server
Sqlfiddle3
New version based on vert.x and docker
Stars: ✭ 242 (-40.39%)
Mutual labels:  sql, database, mysql, sql-server

DMS

Build Status Documentation Status

See the Azure Devops CI : https://dev.azure.com/dotmim/Dotmim.Sync

Sources

Release and pre-release are hosted on nuget.org : https://www.nuget.org/packages?q=dotmim.sync

Documentation

Read the full documentation on https://dotmimsync.readthedocs.io/

Dotmim.Sync

DotMim.Sync (DMS) is a straightforward framework for syncing relational databases, developed on top of .Net Standard 2.0, available and ready to use within IOT, Xamarin, .NET, UWP and so on :)

Multi Databases Cross Plaform .Net Standard 2.0

TL;DR;

Here is the easiest way to create a first sync, from scratch :

// Sql Server provider, the "server" or "hub".
SqlSyncProvider serverProvider = new SqlSyncProvider(
    @"Data Source=.;Initial Catalog=AdventureWorks;Integrated Security=true;");

// Sqlite Client provider acting as the "client"
SqliteSyncProvider clientProvider = new SqliteSyncProvider("advworks.db");

// Tables involved in the sync process:
var tables = new string[] {"ProductCategory", "ProductDescription", "ProductModel", "Product", "ProductModelProductDescription",
                           "Address", "Customer", "CustomerAddress", "SalesOrderHeader", "SalesOrderDetail" };

// Sync agent
SyncAgent agent = new SyncAgent(clientProvider, serverProvider, tables);

do
{
    var result = await agent.SynchronizeAsync();
    Console.WriteLine(result);

} while (Console.ReadKey().Key != ConsoleKey.Escape);

And here is the result you should have, after a few seconds:

Synchronization done.
        Total changes  uploaded: 0
        Total changes  downloaded: 2752
        Total changes  applied: 2752
        Total resolved conflicts: 0
        Total duration :0:0:3.776

You're done !

Now try to update a row in your client or server database, then hit enter again.
You should see something like that:

Synchronization done.
        Total changes  uploaded: 0
        Total changes  downloaded: 1
        Total changes  applied: 1
        Total resolved conflicts: 0
        Total duration :0:0:0.045

Yes it's blazing fast !

Need Help

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].