id(); $table->string('group', 50); $table->string('key', 50); $table->json('label')->nullable(); $table->tinyInteger('type')->default(1)->comment('1: text, 2: textarea, 3: select, 4: number'); $table->json('options')->nullable(); $table->tinyInteger('required')->default(0)->comment('0: no, 1: yes'); $table->unique(['group', 'key']); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('custom_fields'); } };