id(); $table->foreignId('category_id')->nullable()->constrained()->nullOnDelete(); $table->string('title', 200); $table->string('slug')->unique(); $table->string('excerpt', 320); $table->longText('body'); $table->string('difficulty', 32)->default('beginner'); $table->string('status', 32)->default('draft'); $table->string('seo_title', 180)->nullable(); $table->string('seo_description', 320)->nullable(); $table->string('h1', 180)->nullable(); $table->string('canonical_url', 2048)->nullable(); $table->timestamp('published_at')->nullable(); $table->timestamps(); $table->index(['status', 'published_at']); $table->index(['difficulty', 'published_at']); $table->fullText(['title', 'excerpt', 'body']); }); } public function down(): void { Schema::dropIfExists('guides'); } };