presseportale/dev/migration 2026/MIGRATION-STEPS.md
Kevin Adametz 5b8bdf4182
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
12-05-2026 Frontend dev
2026-05-12 18:32:33 +02:00

2.4 KiB
Raw Blame History

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

php artisan legacy:import --source=all --dry-run
php artisan legacy:archive-invoices --dry-run
php artisan legacy:verify --no-report

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

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

php artisan legacy:import --source=all --force
php artisan legacy:archive-invoices
php artisan legacy:fix-timestamps
php artisan legacy:verify

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:

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