Maison > base de données > tutoriel mysql > Comment corriger l'erreur « Migration Laravel : la clé unique est trop longue » ?

Comment corriger l'erreur « Migration Laravel : la clé unique est trop longue » ?

Linda Hamilton
Libérer: 2024-12-15 15:55:11
original
249 Les gens l'ont consulté

How to Fix the

Résolution du problème « Migration Laravel : la clé unique est trop longue »

Lors de la migration d'une table d'utilisateurs Laravel, les développeurs peuvent rencontrer une erreur indiquant que la clé unique spécifiée est trop longue. Malgré la spécification explicite d'un deuxième paramètre dans la méthode unique(), comme suggéré par un fil de discussion Laravel, l'erreur persiste.

Le problème sous-jacent tourne autour de la longueur de la colonne email. La longueur par défaut de Laravel pour les colonnes de chaînes est de 255 caractères, ce qui peut être insuffisant pour les adresses e-mail.

Solution

Pour résoudre ce problème, spécifiez une longueur plus petite pour la colonne e-mail . La longueur par défaut recommandée est de 250 caractères :

$table->string('email', 250);
Copier après la connexion

Cependant, il convient de noter que ce problème a été résolu dans Laravel 5.4. Pour appliquer une solution pour cette version :

Pour Laravel 5.4 et versions ultérieures

  1. Modifiez le fichier AppServiceProvider.php.
  2. Ajoutez le code suivant au boot() méthode :
use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}
Copier après la connexion

Cela définit une longueur de chaîne par défaut de 191 caractères pour les colonnes de chaîne, ce qui élimine le besoin de spécifier manuellement la longueur des colonnes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal