修正Laravel 遷移中的「指定金鑰太長」錯誤
在Laravel 遷移表時,開發者可能會遇到「指定金鑰太長」的問題太長」的錯誤。這是因為MySQL 中鍵的預設最大長度是767 位元組。
一種解決方案是在遷移中明確指定鍵長度。例如:
Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('email', 250)->unique('users_email_unique'); });
Laravel 5.4 以上
在Laravel 5.4 以上,可以在AppServiceProvider.php 檔案中設定預設字串長度:
<code class="php">use Illuminate\Database\Schema\Builder; public function boot() { Builder::defaultStringLength(191); }</code>
或者,您可以指定遷移中各個列的長度:
<code class="php">Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('email', 191)->unique('users_email_unique'); });</code>
以上是如何修復 Laravel 遷移中的「指定金鑰太長」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!