Files
mareike/database/migrations/2026_08_27_150020_create_document_assets.php
T

35 lines
1.2 KiB
PHP

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Bilder für die Dokumentvorlagen (Logo, Emblem, ...), referenziert als `{asset:name}`.
*
* Die Bilder liegen in der Datenbank und nicht im Dateisystem: ein Release ist ein `git checkout`,
* alles unter `public/` und `resources/` wird dabei überschrieben. Die Datenbank fasst ein Release
* nicht an, und die Bilder wandern automatisch mit jedem Dump mit. Für das PDF werden sie ohnehin als
* Data-URI eingebettet, `data` wird also direkt so verwendet, wie es gespeichert ist.
*
* Die Namen vergibt die verwaltende Person selbst -- es gibt keine fachlich vorbelegten Slots.
*/
return new class extends Migration {
public function up(): void
{
Schema::create('document_assets', function (Blueprint $table) {
$table->id();
$table->string('name')->unique();
$table->string('label')->nullable();
$table->string('mime');
$table->longText('data');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('document_assets');
}
};