19 lines
788 B
PHP
19 lines
788 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('events', function (Blueprint $t) {
|
|
$t->bigIncrements('id');
|
|
$t->foreignId('device_id')->constrained('devices')->cascadeOnDelete();
|
|
$t->enum('event_type',['burner_on','burner_off','error','warning','info','connection']);
|
|
$t->enum('severity',['debug','info','warning','error','critical'])->default('info');
|
|
$t->json('payload')->nullable();
|
|
$t->timestamp('occurred_at',3);
|
|
$t->index(['device_id','occurred_at'],'idx_dt');
|
|
$t->index(['severity','occurred_at'],'idx_sev');
|
|
});
|
|
}
|
|
public function down(): void { Schema::dropIfExists('events'); }
|
|
};
|