coreproc/nova-data-sync
A Laravel Nova package for syncing data into your application. CoreProc Nova Data Sync provides Nova tooling to import and update Eloquent records from external data sources, helping keep your admin data current with repeatable sync operations.
composer require coreproc/nova-data-sync, then publish the config and any migrations with php artisan vendor:publish --tag="nova-data-sync-config" (check the package README for the exact tag in 3.x).config/nova-data-sync.php first — this is where source/target connections, model mappings, and the bulk import chunk size live. Almost every day-to-day behaviour is driven from here rather than from code.app/Nova/NovaServiceProvider.php (tools([...]) and/or the resource-level actions the package exposes). If the tool does not appear, that registration is the usual culprit.BulkImportProcessor is designed to churn through large sets; wrapping it in a job keeps Nova responsive and gives you retries. Pass the tenant/connection context explicitly into the job payload rather than relying on ambient state.DB::connection('landlord')->getName() (or a trivial select 1) still works. This is the regression 3.0.2 fixes, so it is worth a permanent test in your suite.BulkImportProcessor could leave the landlord connection in a switched/dirty state after processing, so subsequent landlord queries in the same request or worker silently hit the wrong database. If you are on 3.0.1 in a tenant setup, treat this as a priority upgrade, and re-run any import jobs that executed around the time you noticed inconsistent data.DB::purge() / re-establish connections in queue workers between tenants, and restart workers on deploy. A worker that has served tenant A is not a clean slate for tenant B by default.config/database.php and any dynamically registered connections.DB::getDefaultConnection() and DB::connection()->getName() at the start and end of an import. If those two lines differ, you have a leak — that is the fastest way to reproduce the class of bug 3.0.2 addresses.canRun / policy check.How can I help you explore Laravel packages today?