id(); $table->string('name', 120); $table->string('description', 500)->nullable(); $table->text('body'); $table->boolean('is_favorite')->default(false); $table->unsignedInteger('usage_count')->default(0); $table->timestamp('last_used_at')->nullable(); $table->timestamps(); }); Schema::create('prompt_tag', function (Blueprint $table) { $table->foreignId('prompt_id')->constrained('prompts')->cascadeOnDelete(); $table->foreignId('tag_id')->constrained('tags')->cascadeOnDelete(); $table->primary(['prompt_id', 'tag_id']); }); } public function down(): void { Schema::dropIfExists('prompt_tag'); Schema::dropIfExists('prompts'); } };