id(); // 基本資訊 $table->string('title'); $table->text('content'); // 狀態管理 $table->enum('status', ['draft', 'published', 'archived'])->default('draft'); // 顯示控制 $table->boolean('is_pinned')->default(false); $table->integer('display_order')->default(0); // 訪問控制 $table->enum('access_level', ['public', 'members', 'board', 'admin'])->default('members'); // 時間控制 $table->timestamp('published_at')->nullable(); $table->timestamp('expires_at')->nullable(); $table->timestamp('archived_at')->nullable(); // 統計 $table->integer('view_count')->default(0); // 用戶關聯 $table->foreignId('created_by_user_id')->constrained('users')->onDelete('cascade'); $table->foreignId('last_updated_by_user_id')->nullable()->constrained('users')->onDelete('set null'); $table->timestamps(); $table->softDeletes(); // 索引 $table->index('status'); $table->index('access_level'); $table->index('published_at'); $table->index('expires_at'); $table->index(['is_pinned', 'display_order']); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('announcements'); } };