2017-06-16 1 views
-1

Impossible de télécharger une base de données Laravel sur un serveur en direct car la clé spécifiée est trop longue. SQL ERROR exemple montre que la contrainte de clé est trop longue, mais ce n'est pas seulement sur une table qu'elle est sur beaucoup. Est-il possible de mettre à jour ceci ou de modifier ma base de données pour pouvoir la télécharger? J'ai suivi le guide dans le fournisseur de service d'application, mais je ne suis pas sûr si je dois supprimer la base de données, puis migrer à nouveau avec la contrainte de clé sur la méthode boot() sur le fournisseur de service d'application. S'il vous plaît aider.Importation mysql de l'erreur de base de données laravel voyager - La clé spécifiée était trop longue; La longueur maximale de la clé est de 767 octets.

Répondre

1

En fait, l'ajout de defaultStringLength à la méthode de démarrage fonctionne cependant parce que j'utilisais des scripts fournisseurs, je ne pouvais pas annuler mes migrations car les migrations étaient créées par le contrôleur BREAD dans Voyager. Pour que l'importation MYSQL fonctionne, sans perte de données ou de roulement et en changeant les migrations que je devais manuellement, avec Sequel Pro ou tout ce que vous utilisez, et modifiez manuellement chaque varchar('255') à varchar('191'). Cela m'a sauvé de la suppression et de l'annulation.

Ajout:

use Illuminate\Support\Facades\Schema; // add this 

Schema::defaultStringLength(191); 

au AppServiceProvider.php travaillera désormais parce que toute autre migration que je crée avec le contrôleur de PAIN aura la valeur par défaut 191 ajouté à la longueur de la chaîne.

Pour référence: https://laravel-news.com/laravel-5-4-key-too-long-error

0

ajouter defaultStringLength pour démarrer la méthode de AppServiceProvider

use Illuminate\Support\Facades\Schema; // add this 

Schema::defaultStringLength(191); 

migrations de retour en arrière et essayez à nouveau après avoir ajouté cette ligne. Ça va marcher.

+0

si je télécharger à nouveau les données que ça va marcher? – m33bo

+0

juste concerné à le faire, ré-uploader les données, et le même problème découlant de l'état sauvegardé sql – m33bo

+0

Je l'avais fait auparavant, donc je peux vous dire que cela fonctionnera correctement. Retournez simplement vos fichiers de migration et réessayez. C'est l'installation de laravel? –