b2in/database/seeders/InteriorReleaseSeeder.php
Kevin Adametz 07816dce19 Kontaktdaten: Telefon +49 521 986 20 100, E-Mail interior@b2in.eu
Lang-Dateien (Kontaktformular, Impressum, Datenschutz, de/en), Support-Link im Partnerportal,
WhatsApp-Schreibweise und Platzhalter im Admin. ContactDetailsSeeder ersetzt die alten Werte in
den gespeicherten CMS-Einträgen (beide Sprachen), Marken und Magazin; Display-Folien und
Info-Tablet (CABINET-Showroom) bleiben unberührt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:29:34 +00:00

72 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
/**
* Alle Inhaltsschritte des Interior-Relaunchs in einem Lauf (08.10.2026).
*
* Bringt eine Datenbank mit dem alten Website-Stand auf den Stand der Vorschau: zuerst auf der
* Vorschau mit frischer Kopie der Live-Datenbank (Generalprobe), nach der Freigabe identisch auf
* Live. Displays, Playlists, Display-Mediathek und hochgeladene Medien bleiben, wie sie sind –
* angefasst werden nur das Display-Branding (nur Module ohne Interior-Logo) und absolute
* Medien-URLs (werden host-unabhängig).
*
* Reihenfolge wie Abschnitt 8.2 und „Seeder für das nächste Deployment“ im Entwicklungsplan.
* Jeder Schritt ist idempotent, ein zweiter Lauf ändert nichts mehr. Ausgeführt von
* `dev/betrieb/deploy.sh vX.Y.Z --migrations --seed=InteriorReleaseSeeder` im Wartungsmodus.
*
* php artisan db:seed --class=InteriorReleaseSeeder --force
*/
class InteriorReleaseSeeder extends Seeder
{
/**
* @var list<class-string<Seeder>>
*/
public const STEPS = [
// Fehlende CMS-Einträge aus den Lang-Dateien anlegen – vorhandene bleiben unberührt.
CmsContentSeeder::class,
CmsBrandSeeder::class,
// Die in AP1 neu getexteten Sektionen überschreiben (alter Website-Stand).
InteriorRelaunchCmsSeeder::class,
CmsArticleSeeder::class,
// Displays: nur Branding und Medien-URLs.
DisplayInteriorBrandingSeeder::class,
DisplayMediaUrlNormalizerSeeder::class,
// Marken
BrandPageTextSeeder::class,
BrandGalleryCaptionNormalizerSeeder::class,
WorldSplitCmsSeeder::class,
OriginSectionCmsSeeder::class,
BrandOriginSeeder::class,
OtterpohlBrandSeeder::class,
BrandImageSeeder::class,
DemoBrandGalleryCleanupSeeder::class,
// Texte und Korrekturen
WhatsappNumberSeeder::class,
AudienceSwitchProjectTextSeeder::class,
HomeHeroTextSeeder::class,
UnusedCmsContentCleanupSeeder::class,
AboutPageTextSeeder::class,
ProofreadingCorrectionsSeeder::class,
LegalTextUpdateSeeder::class,
ReferencesPageSwitchSeeder::class,
HomeHeroSlidesSeeder::class,
PageHeroEyebrowSeeder::class,
HeroTrustItemsSeeder::class,
HomeVisionTitleSeeder::class,
ContentCorrections20261008Seeder::class,
FaqCategoriesSeeder::class,
BrandTranslationsSeeder::class,
ContactDetailsSeeder::class,
// Zuletzt: fehlende Felder ergänzen, verwendete Bilder in die Mediathek.
CmsSectionFieldsSeeder::class,
AssetMediaImportSeeder::class,
];
public function run(): void
{
$this->call(self::STEPS);
}
}