Дмитрий
|
33b3ac06f2
|
feat(supplier): R-17 migration — supplier:rekey-orphans artisan command
One-time cleanup of orphan SMS supplier_projects rows created by the now-removed
buildUniqueKey divergence (B3 used sender alone; B2 sender+keyword).
Logic per orphan (sms unique_key without '+', owning project has sms_keyword):
- no sibling at sender+keyword for same tenant → UPDATE row's unique_key
- has sibling → dispatch DeleteSupplierProjectJob (cleans up at portal +
cascades pivot deletion + local row removal)
Discovers orphans via pivot project_supplier_links join (primary path post-Plan-1
pivot rollout). --dry-run flag previews without mutation.
Usage on prod after Stage 4 deploy:
ssh ubuntu@liderra.ru 'cd /var/www/liderra/app && sudo -u www-data php artisan supplier:rekey-orphans --dry-run'
# review output
ssh ubuntu@liderra.ru 'cd /var/www/liderra/app && sudo -u www-data php artisan supplier:rekey-orphans'
3 Pest tests: no-sibling UPDATE path, sibling DELETE-dispatch path, dry-run no-op.
Stage 4 §4.4.1 migration.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-28 20:18:38 +03:00 |
|