Mis migraciones no funcionan me da el siguiente error Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access viola...

Pregunta de la clase:
Migraciones en Artisan
Raul Andres Castro Devia

Raul Andres Castro Devia

Pregunta
studenthace 6 años

Mis migraciones no funcionan me da el siguiente error

Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table

users
add unique
users_email_unique
(
email
))

crea las tablas pero cuando aplico el comando php artisan migrate:status me indica no de los 3 archivos

😦 😦 😦

4 respuestas
para escribir tu comentario
    Christian R Maldonado Sanchez

    Christian R Maldonado Sanchez

    studenthace 6 años

    Solo actualiza tu MAMP p Xampp el error viene por que en versiones anteriores de mysql no deja ingresar un índice que las migraciones traen justo en la tabla de Users... si le quitas esa línea corre perfectamente pero lo mejor es que actualices la version mysql

    Lizardo Reyes

    Lizardo Reyes

    studenthace 6 años

    Edita AppServiceProvider.php y agrega esto:

    use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }```
    Gerardo Antonio Gerónimo Vasconcelos

    Gerardo Antonio Gerónimo Vasconcelos

    studenthace 6 años

    Ese error está relacionado con el motor de base de datos que usas, por ejemplo con las últimas versiones de MySQL y MariaDB no me pasa; pero con PosgreSQL y MySQL 5.* sí me sucede. El error ocurre cuando creas un índice en un campo que admite demasiados caractéres. Por defecto, si se omite el tamaño en los campos de texto, se crean con el máximo que si no me equivoco es de 255 caractéres.

    Wilson Alvaro Leonardo Tahuico

    Wilson Alvaro Leonardo Tahuico

    studenthace 6 años

    Hola, puede arreglarlo de dos maneras, la primera es la siguiente:

    $table->string('email',170)->index();

    y la otra es cambiando el tipo de collation en

    config ->database.php y alli buscas esto:

    'charset' => 'utf8mb4',//cambia a utf8 'collation' => 'utf8mb4_unicode_ci', // cambiar autf8_unicode_ci

    Saludos

Curso de PHP con Laravel

Curso de PHP con Laravel

¡Con Platzi, desarrollar aplicaciones web a la medida de tus necesidades es pan comido! Aprovecha todas las bondades de Laravel. Descubre con este framework PHP las ventajas de tener una increíble comunidad de apoyo y sé el mejor artesano de desarrollo que ha pisado la tierra.

Curso de PHP con Laravel

Curso de PHP con Laravel

¡Con Platzi, desarrollar aplicaciones web a la medida de tus necesidades es pan comido! Aprovecha todas las bondades de Laravel. Descubre con este framework PHP las ventajas de tener una increíble comunidad de apoyo y sé el mejor artesano de desarrollo que ha pisado la tierra.