Laravel 移行エラー:「指定した場合でも一意のキーが長すぎます」
列の一意のキーを作成するときに Laravel 移行エラーが発生する可能性があります許可された最大長を超えています。指定されたシナリオでは、ユーザーは、長さが 320 文字の電子メール列を持つユーザー テーブルを移行しようとしたときに、この問題に遭遇しました。
エラー メッセージは、指定されたキー (電子メール) が長すぎることを示しています。 、最大キー長は 767 バイトです。この問題を解決するには、電子メール列の長さを減らすことが推奨されます。
Laravel の文字列列のデフォルトの長さは 250 文字です。電子メール列をこの長さに設定すると、一意のキーの長さのエラーが発生することなく移行が成功するはずです。あるいは、アプリケーションの特定の要件に基づいて、電子メール列をより短い長さに設定することもできます。
Laravel 5.4 以降の場合は、追加のソリューションが利用可能です。 AppServiceProvider.php ファイルを編集し、ブート メソッドでデフォルトの文字列長を設定することにより、すべての文字列列の最大長を調整できます。
Builder::defaultStringLength を 191 などの小さい値に設定することにより、エラーが解決され、移行が正常に続行できるようになります。
以上がLaravel 移行エラー「一意のキーが長すぎます」を修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。