Maison  >  Article  >  développement back-end  >  Comment corriger l'erreur « La clé spécifiée était trop longue » dans les migrations Laravel ?

Comment corriger l'erreur « La clé spécifiée était trop longue » dans les migrations Laravel ?

DDD
DDDoriginal
2024-10-30 22:44:03733parcourir

How to Fix

Correction de l'erreur « La clé spécifiée était trop longue » dans les migrations Laravel

Lors de la migration des tables dans Laravel, les développeurs peuvent rencontrer le message « La clé spécifiée était erreur "trop ​​longue". En effet, la longueur maximale par défaut des clés dans MySQL est de 767 octets.

Une solution consiste à spécifier explicitement la longueur de la clé dans la migration. Par exemple :

Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 250)->unique('users_email_unique');
});

Laravel 5.4 et supérieur

Dans Laravel 5.4 et supérieur, la longueur de chaîne par défaut peut être définie dans le fichier AppServiceProvider.php :

<code class="php">use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}</code>

Vous pouvez également spécifier la longueur de colonnes individuelles au sein de la migration :

<code class="php">Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 191)->unique('users_email_unique');
});</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn