Laravel 移行における一意のキーの長さの問題
Laravel では、テーブル列の一意のキーを作成するときに、次のようなエラーが発生する可能性があります。指定されたキーが長すぎます。この問題は、一意のキーに定義されている列の長さが、許可されている最大長を超えている場合に発生します。
問題のトラブルシューティング
提供された移行では、一意の制約が指定されています。 「電子メール」列の長さは 320 文字です。ただし、デフォルトでは、Laravel の 'email' 列は、デフォルトの長さ 255 の文字列として定義されます。ほとんどのメール アドレスには、このデフォルトの長さで十分です。
この問題を解決するには、長さを減らすことを検討してください。移行時の「email」列を 250 文字などの適切な値に変更します。
または、一意のキーの長さを 'unique() の 2 番目のパラメータとして明示的に指定することもできます。 ' メソッド:
Laravel 5.4 以降
Laravel バージョン 5.4 以降では、より包括的なソリューションが利用可能です。 「AppServiceProvider.php」ファイルで、「boot()」メソッドに次のコードを追加します。
デフォルトの文字列長を 191 に設定すると、列が「string()」メソッドを使用して作成されるようになります。最大長は 191 文字になり、一意のキーの長さの問題が発生する可能性がなくなります。
以上がLaravel の移行における固有のキー長エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。