Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation. Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views. Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs. Co-authored-by: Cursor <cursoragent@cursor.com>
67 lines
No EOL
2.6 KiB
Markdown
67 lines
No EOL
2.6 KiB
Markdown
# Migration Steps – aktuelles Runbook
|
||
|
||
Stand: 2026-05-04. Dieses Kurz-Runbook spiegelt den aktuell implementierten Command-Stand. Details und Go-Live-Kontext stehen in `05-DATABASE-MERGE.md` und `08-PROGRESS.md`.
|
||
|
||
## Dry-Run
|
||
|
||
```bash
|
||
php artisan legacy:import --source=all --dry-run
|
||
php artisan legacy:archive-invoices --dry-run
|
||
php artisan legacy:verify --no-report
|
||
php artisan legacy:migrate-media --portal=all --type=all --base-path=dev/migration --dry-run
|
||
|
||
```
|
||
|
||
Hinweis: `legacy:archive-invoices` importiert die Legacy-Rechnungen vollständig in `legacy_invoices`, inkl. Status/User-Zuordnung, `raw_snapshot`, `pdf_payload` und Report. Die PDF-Erzeugung erfolgt im Customer-Bereich bei Abruf aus diesen Archivdaten.
|
||
|
||
## Vollimport in korrekter Reihenfolge
|
||
|
||
```bash
|
||
php artisan legacy:import --source=presseecho --step=categories --force
|
||
php artisan legacy:import --source=all --step=users --force
|
||
php artisan legacy:import --source=presseecho --step=companies --force
|
||
php artisan legacy:import --source=businessportal24 --step=companies --force
|
||
php artisan legacy:import --source=presseecho --step=contacts --force
|
||
php artisan legacy:import --source=businessportal24 --step=contacts --force
|
||
php artisan legacy:import --source=presseecho --step=press-releases --force
|
||
php artisan legacy:import --source=businessportal24 --step=press-releases --force
|
||
php artisan legacy:import --step=link-associations --force
|
||
php artisan legacy:archive-invoices
|
||
php artisan legacy:fix-timestamps
|
||
php artisan legacy:verify
|
||
```
|
||
|
||
Hinweis: Der Schritt `--step=users` importiert nicht nur `sf_guard_user`, sondern auch die direkt verknüpften Daten aus `sf_guard_user_profile` in die neue Tabelle `profiles`.
|
||
|
||
## Alternativer Komplettlauf
|
||
|
||
```bash
|
||
php artisan legacy:import --source=all --force
|
||
php artisan legacy:archive-invoices
|
||
php artisan legacy:fix-timestamps
|
||
php artisan legacy:verify
|
||
php artisan legacy:migrate-media --portal=all --type=all --base-path=dev/migration
|
||
```
|
||
|
||
## Noch nicht im Runbook finalisiert
|
||
|
||
- `legacy:grandfather-subscriptions`: noch nicht implementiert bzw. blockiert durch Kriterien vom Auftraggeber.
|
||
- Medien-/Bilddateien-Transfer: Scope und finaler Command noch offen.
|
||
- Staging-Rehearsal mit aktuellem Produktiv-Snapshot bleibt Pflicht vor Go-Live.
|
||
|
||
## Legacy-Rechnungsreport
|
||
|
||
`legacy:archive-invoices` schreibt standardmäßig:
|
||
|
||
```bash
|
||
storage/app/private/migration/legacy-invoices-*.json
|
||
```
|
||
|
||
Der Report enthält pro Portal:
|
||
|
||
- Source-Count
|
||
- importierte/übersprungene/fehlerhafte Rechnungen
|
||
- Summe in Cent
|
||
- Statusverteilung
|
||
- Anzahl unzugeordneter Legacy-User
|
||
- Anzahl erzeugter PDF-Payloads |