s3lp / piece-data
Pseudo replication Eloquent models via HTTP
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/s3lp/piece-data
Requires
- ext-curl: *
- ext-json: *
Requires (Dev)
- orchestra/testbench: ^3.1
This package is auto-updated.
Last update: 2025-12-06 08:30:28 UTC
README
Pseudo replication Laravel Eloquent models via HTTP
Master install
composer require s3lp/piece-data:dev-masterartisan vendor:publish --provider="S3lp\PieceData\ServiceProvider"- configure
slaves:
['slave_name' => 'http://slave/api/unique/import_route'] - configure
export_models:
['model_name' => App\Models\Model] - configure
access_token artisan migrate --path=vendor/s3lp/piece-data/database/migrations- implements
Syncableinterface - sheduler include console command
S3lp\PieceData\Console\SyncModelsExport
Slave install
composer require s3lp/piece-data:dev-masterartisan vendor:publish --provider="S3lp\PieceData\ServiceProvider"- configure
import_models
['model_name' => App\Models\Model] - configure access
allowed_ipsand/oraccess_token - setup models
$fillableattribute - include API routes map:
Route::any('/unique/import_route', '\\S3lp\\PieceData\\Controllers\\SyncImportController@syncImport');
Manual master use
artisan sync:models --status – show queue status and main settings.
artisan sync:models – start sync.
artisan sync:models --reset – sync all exportable models.
Options:
--models=name1,name2 – exportable models names for sync.
--post-chunk=1000 – max models objects for one post-request.
--reset-chunk=3000 – all exportable models query chunk for refill queue.
Tricks
public function getSyncSlaves(): array { if (true) { return ['slave_name' => 'remove']; // force remove } elseif (true) { return array_filter(array_keys(config('sync_models.slaves')), 'callback'); } else { return array_keys(config('sync_models.slaves')); } }