White Label: Sofortpaket WL-00 und Bestandsprüfung WL-01

- Etikettgröße im Lieferschein korrekt parsen ("40#3,5" ergab 3 statt 3,5 cm)
- Produktkopie optional inkl. Kundenzuordnungen und Logo-Dateien (zweiter Kopier-Link)
- whitelabel:transfer-assignments: gezielte, wiederholbare Übertragung ohne Dubletten
- whitelabel:migrate-colors: Zuordnungen anhand der Bildfarbe auf die Farbprodukte übertragen (Dry-Run ohne --execute)
- whitelabel:report: rein lesende Bestandsprüfung (fehlende Zuordnungen, Farbwidersprüche, Dateien, Dubletten)
- Migration für attributes.value (Schema-Drift, auf Live No-op)
- Analyse/Entwicklungsplan um Gegenprüfung, systemischen Befund und neue Paketreihenfolge ergänzt

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-17 11:05:42 +00:00
parent f7ab4c4519
commit d687a6c569
11 changed files with 1012 additions and 13 deletions

View file

@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Schema-Drift: attributes.value ("Volumen#Größe", z. B. "40#3,5") existiert auf Live,
* fehlte aber in den Migrationen. Wird nur angelegt, wenn die Spalte fehlt (Live: No-op).
*/
return new class extends Migration
{
public function up(): void
{
if (! Schema::hasColumn('attributes', 'value')) {
Schema::table('attributes', function (Blueprint $table) {
$table->string('value')->nullable()->after('name');
});
}
}
public function down(): void
{
// Spalte bewusst nicht entfernen: sie ist auf Live produktiv befüllt.
}
};