grixu / synchronizer
Tools for sync data from DTO (foreign system) to local DB
Installs: 1 467
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 6
Requires
- php: ^8.0
- ext-json: *
- grixu/socius-dto: ^2.0
- illuminate/broadcasting: ^9.0
- illuminate/console: ^9.0
- illuminate/database: ^9.0
- illuminate/events: ^9.0
- illuminate/queue: ^9.0
- illuminate/support: ^9.0
- laravel/slack-notification-channel: ^v2.4
- spatie/data-transfer-object: ^3.8
Requires (Dev)
- brainmaestro/composer-git-hooks: ^v3.0.0-alpha.1
- doctrine/dbal: ^3.1
- fakerphp/faker: ^1.11
- friendsofphp/php-cs-fixer: ^3.0
- grixu/socius-models: ^4.0.0
- nunomaduro/larastan: ^1.0.0
- nunomaduro/phpinsights: ^2.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.4
- spatie/laravel-ray: ^1.9
- spatie/x-ray: ^1.1
- dev-master
- dev-main
- 6.0.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.0
- 4.3.1
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.0
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/github_actions/shivammathur/setup-php-2.24.0
- dev-dependabot/github_actions/dependabot/fetch-metadata-1.3.6
- dev-dependabot/github_actions/8398a7/action-slack-3.15.0
- dev-dependabot/github_actions/actions/cache-3.0.11
- dev-dependabot/github_actions/actions/checkout-3.1.0
- dev-dependabot/composer/nunomaduro/larastan-tw-1.0.0or-tw-2.0.0
- dev-dev/5.x
- dev-feature/multi-checksums
This package is auto-updated.
Last update: 2024-10-29 06:12:12 UTC
README
Simple library for sync data between two data sources (database to database or API to database).
- ๐ Asynchronous & Scalability: prepared to work async by using Laravel Queues system
- ๐ Strict data types: assumes to use DTO objects as input data. Using of spatie/data-transfer-objects is highly recommended.
- ๐ฉ Adaptable: providing interfaces for customizing loading, parsing, pre-sync & error reporting.
- ๐ Flexibility: library structure allows using just synchronization engine
- ๐ Configurable: Wide possibilities of configuration for each synchronization separately
- ๐ Prepared for different scenarios: have 3 different loading-parsing-syncing scenarios on-board.
- ๐ Loggable: it allows save synchronization' logs to database
- ๐ฒ Notifiable: it provides Slack notifications after sync is done
Installation
You can install the package via composer:
composer require grixu/synchronizer
Usage
Details will be described in Synchronizer Docs (both in Polish and English)
Testing
Before you start running test, please create .sqlite database which contains example tables from a database you would
like to sync. More information about it, you can find in: tests/Helpers/SyncTestCase
. Test which extending
that SyncTestCase
need access to this database.
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email mg@grixu.dev instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.