Erreur avec les migrations de laravel
Bonjour à tous.
J'ai installé Laravel via composer avec succès et me suis lancé dans la mise en place de mon .env. Tout fonctionnais nickel et ensuite j'ai essayer de faire une création de table MySQL via "php artisan migrate" mais là j'ai une erreur :
Citation:
Envoyé par Ma console
Migration table created successfully.
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 La cl├® est trop longue. Longueur maximale: 1000 (SQL: alter
table `users` add unique `users_email_unique`(`email`))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 La cl├® est trop longue. Longueur maximale: 1000
Je ne vois pas ce que j'ai pu rater vue que c'est deux fichiers compiler automatiquement par Laravel (databases/migrations/2014_10_12_000000_create_users_table.php et 2014_10_12_100000_create_password_resets_table.php)... Mon fichier de migration pour ma table passe bien quand à lui. :roll:
J'ai une version de wampserver à jour avec PHP 7.1.0, MySQL 5.7.9, et Apache 2.4.17
Si quelqu'un serai me dire pourquoi chez moi j'ai cette erreur. Merci d'avance.
En fait, j'ai trouvé la solution sur un forum en anglais
Il faut remplacer le fichier AppServiceProvider.php par ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
} |
j'ai eu le meme proble "migrate" ca passe pas mais ce codde ne foctionne pas pour moi aide moi svp
Citation:
Envoyé par
tindal35
Il faut remplacer le fichier AppServiceProvider.php par ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
} |
merciiiii, c'est la meilleure solution
Citation:
Envoyé par
victordu
Salut,
Je me permets de remonter juste pour apporter une solution plus propre que celles que j'ai pu voir - ce sujet remontant en tête de Google quand on cherche l'erreur remontée par la migration.
Le problème vient du moteur de BDD ciblé. Par défaut, Laravel semble pointer sur un moteur InnoDB tandis que le moteur par défaut dans Wamp est MyISAM.
Il suffit donc de modifier le fichier de configuration my.ini afin d'indiquer quel moteur par défaut on souhaite utiliser (ie. INNODB) puis de redémarrer les services.
En espérant que ça aide.
NB : ça me semble rejoindre la réponse de manu_aix, il est possible de changer le moteur a utiliser. Mais là encore, il faut que le moteur configuré côté Laravel corresponde à celui de la BDD.