如何修復 Laravel 遷移中的「指定金鑰太長」錯誤?

DDD
發布: 2024-10-30 22:44:03
原創
730 人瀏覽過

How to Fix

修正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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板