- Migration: settings table with key (unique), value (text), timestamps - Model: Setting with static get/set helpers using DB upsert - Controller: SettingsController with index (Inertia) and update (JSON) - Vue: Settings page with 4 macro fields, auto-save on blur - Navigation: Einstellungen link in desktop + mobile nav after API-Log - Shared props: macroSettings added to HandleInertiaRequests - Integration: ProExportService injects macro into COPYRIGHT group slides - Gracefully skips macro injection when settings empty/null
24 lines
535 B
PHP
24 lines
535 B
PHP
<?php
|
|
|
|
use Illuminate\Database\Migrations\Migration;
|
|
use Illuminate\Database\Schema\Blueprint;
|
|
use Illuminate\Support\Facades\Schema;
|
|
|
|
return new class extends Migration
|
|
{
|
|
public function up(): void
|
|
{
|
|
Schema::create('settings', function (Blueprint $table) {
|
|
$table->id();
|
|
$table->string('key')->unique();
|
|
$table->text('value')->nullable();
|
|
$table->timestamps();
|
|
});
|
|
}
|
|
|
|
public function down(): void
|
|
{
|
|
Schema::dropIfExists('settings');
|
|
}
|
|
};
|