35 lines
1.2 KiB
PHP
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');
|
|
}
|
|
};
|