Feat: Restructuring MigrateImport, Dispatching a per product job for import

This commit is contained in:
2026-09-24 22:50:41 +03:00
parent a9b993182b
commit 8f4156cfe8
22 changed files with 209 additions and 96 deletions
+4 -3
View File
@@ -8,15 +8,16 @@ use Lunar\Models\ProductVariant;
* Generates a SKU for every ProductVariant missing one — extracted out of
* Command\BackfillMissingSkusCommand (which becomes a thin CLI wrapper
* around this, keeping --dry-run/progress-bar concerns out of the
* reusable logic) so MigrateImport\RunMigrateImportJob can also call it
* directly, right after a Shopify import, with no CLI concerns at all.
* reusable logic) so MigrateImport\Shopify\Services\ShopifyExportImporter can
* also call it directly, once every product job in its import batch has
* finished (see that class's own import()), with no CLI concerns at all.
*
* Format is "SKU-P{product_id}-V{variant_id}": deterministic and
* guaranteed unique without a uniqueness check, since product_id/
* variant_id already are. Only variants with a null `sku` are touched —
* not an importer bug when one shows up after a Shopify import, the
* source CSV rows genuinely had no `Variant SKU` value (see
* MigrateImport\Shopify\ShopifyExportImporter).
* MigrateImport\Shopify\Services\ShopifyExportImporter).
*/
class SkuBackfillService
{