Laravel 5.4: error specified key was too long

Este artículo es una traducción de Laravel 5.4: error specified key was too long.

Laravel 5.4 hizo un cambio en el conjunto de caracteres de base de datos predeterminado, y ahora es utf8mb4, que incluye soporte para almacenar emojis. Esto sólo afecta a las nuevas aplicaciones y mientras que estés ejecutando MySQL v5.7.7 o superior no necesitas hacer nada.

Para aquellos que ejecutan MariaDB o versiones anteriores de MySQL, pueden tener este error al intentar ejecutar migraciones:

Como se describe en la guía de Migraciones para solucionar esto todo lo que tienes que hacer es editar tu archivo AppServiceProvider.php y dentro del método de arranque establecer una longitud de cadena predeterminada:

Una vez hayas realizado este cambio, todo volverá a trabajar normalmente.

Contenido original https://laravel-news.com/laravel-5-4-key-too-long-error traducido con autorización del autor por Laraveles.

Comparte este artículo

Entra en la discusión y deja tu comentario

  • Eddy

    mejor edito el archivo config/database.php

  • Freddy Íñiguez

    Excelente por indicar que es una traducción de otra publicación. Buena solución, por cierto.

    • Sergio Ojeda

      Asi es, muchas gracias por leernos. Debemos agradecer a Eric Barnes tambien por permitir traducir los articulos de Laravel News, unidos hacemos mas.

  • hamil123

    Igual realizando esa modificación al archivo sale un error que dice Class ‘AppProvidersSchema’ not found

    • Sergio Ojeda

      Lo mas seguro es que hayas olvidado importar el namespace de Schema:
      use IlluminateSupportFacadesSchema;

Veces