legacy:migrate-agency-names: Agentur-Namen → users.agency_name

Übernimmt je Owner den Namen seiner Legacy-Agentur-Firma(en) ins neue
Profilfeld (A2 des Umbaus Agentur-Attribution → User-Profil). Regeln:
zuletzt aktualisierter Datensatz gewinnt bei Mehrfach-Namen (alle
Varianten im Report), bereits gesetzte Werte werden nie überschrieben,
Owner-lose Agentur-Firmen werden nur reportet. --dry-run + JSON-Report
nach storage/app/private/migration/; im Deploy-Runbook (Erst-Einrichtung)
nach dem Firmen-/User-Import eingereiht.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-08 09:25:04 +00:00
parent 30c407f571
commit 621fc0569f
3 changed files with 258 additions and 3 deletions

View file

@ -130,10 +130,14 @@ Events: die Cashier-Defaults (Subscriptions, Invoices, Payment-Intents).
`legacy:import` → `legacy:fix-timestamps` → `legacy:migrate-media`
(bzw. `legacy:sync-company-logos` / `legacy:sync-press-release-images`)
→ `legacy:archive-invoices` → `legacy:grandfather-subscriptions`.
2. Ersten Admin-User anlegen (Prod hat keine Demo-User):
2. Agentur-Attribution (läuft NACH dem Firmen-/User-Import aus Schritt 1):
`legacy:migrate-agency-names` — erst mit `--dry-run` (Report unter
`storage/app/private/migration/` prüfen, insbes. Mehrfach-Namen und
Owner-lose Agentur-Firmen), dann scharf. Nie überschreibend.
3. Ersten Admin-User anlegen (Prod hat keine Demo-User):
Registrierung + Rolle via Tinker/DB oder dedizierter Befehl.
3. Favicons je Domain deployen (Platzhalter-Generator reicht nicht) [EXTERN R5.4].
4. Smoke-Test: siehe Abschnitt 8.
4. Favicons je Domain deployen (Platzhalter-Generator reicht nicht) [EXTERN R5.4].
5. Smoke-Test: siehe Abschnitt 8.
## 8. Smoke-Test nach jedem Deploy