https://github.com/gustavohennig/simpledatabasereplicator
Simple Database Replicator is a very simple database data synchronizer, it loads a bunch of rows from source and destination, compares, and insert or update in the destination what is different.
https://github.com/gustavohennig/simpledatabasereplicator
data-synchronization database database-replication database-replicator replicator
Last synced: about 1 year ago
JSON representation
Simple Database Replicator is a very simple database data synchronizer, it loads a bunch of rows from source and destination, compares, and insert or update in the destination what is different.
- Host: GitHub
- URL: https://github.com/gustavohennig/simpledatabasereplicator
- Owner: GustavoHennig
- License: apache-2.0
- Created: 2018-05-01T13:42:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-24T15:24:59.000Z (about 1 year ago)
- Last Synced: 2025-04-28T12:06:16.392Z (about 1 year ago)
- Topics: data-synchronization, database, database-replication, database-replicator, replicator
- Language: C#
- Homepage:
- Size: 1.02 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple Database Replicator
This is a very simple database data synchronizer. It loads a bunch of rows from the source and destination, compares them, and inserts or updates the differences into the destination.
This project was created in 2006 to resolve a database benchmarking problem, then it was abandoned. Now, I am resurrecting the project and fixing the old, ugly code.
> Since this is a very old project, it was created by an inexperienced developer, so don't expect good code quality. I am trying to fix it, but it is a slow process.
## Replication Purpose
- It is a one-way data synchronizer.
- Database agnostic: it should work with any database with some adjustments (well tested with SQL Server, Firebird, SQLite, MySQL, and Postgres).
- Speed: it uses very little from the drivers; everything is done by simple queries.
## Known Issues / TODO
- [ ] Consider using an existing library for queries, like https://github.com/sqlkata/querybuilder.
- [ ] Delete is not implemented.
- [ ] Use internal row identity to optimize synchronization (like Postgres xmin).
- [ ] Schema must be identical.
- [ ] Not tested with all database scenarios.
- [ ] Blob type not supported.
- [ ] Limited UI usability – implemented the minimum to work.
- [ ] The internationalization was abandoned.
- [ ] It's not using parameters for the queries, which causes problems according to the database collation and culture settings.
- [ ] Sequence updates are not working properly.
- [ ] Improve connection string configuration screen
- [ ] Remove hard-coded database settings
- [ ] Simulate synchronization (with changes preview)
- [ ] Export SQL queries to synchronize manually
Originally, this program had a simple schema migration function, but it was removed. For DDL and schema migration, there are many good programs available, such as this one:
http://fishcodelib.com/DBMigration.htm
Since this code is old, created in 2006 using .NET Framework 2.0 (now migrated to ~~.NET 4.5~~ .NET 8), some parts of the code could be simpler with some refactoring.
Please, feel free to contribute with Pull Requests ;)
## Screenshots




Gustavo Augusto Hennig
GH Software - [Plagius - Plagiarism Checker](https://www.plagius.com/en)