id(); // ACF 基本欄位 $table->string('portrait', 500)->nullable()->comment('照片 URL'); $table->string('name', 255)->comment('姓名'); $table->string('title', 255)->nullable()->comment('頭銜'); $table->text('positions')->nullable()->comment('職務 (多行,使用 \r\n 分隔)'); $table->text('text')->nullable()->comment('簡介'); $table->integer('sort')->default(999)->comment('排序 (數字越小越前面)'); // 成員類型與狀態 $table->enum('member_type', ['board', 'executive'])->comment('成員類型: board=董事成員, executive=執行成員'); $table->enum('status', ['draft', 'publish'])->default('draft')->comment('發布狀態'); $table->timestamps(); // 索引設計 (依照資料結構文件建議) $table->index('member_type', 'idx_member_type'); $table->index('sort', 'idx_sort'); $table->index('status', 'idx_status'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('members'); } };