Laravel 5.4: erro ao rodar o comando migrate (Specified key was too long error) [Resolvido]

Publicado por walmick em 28/03/2017

[ Hits: 2.922 ]

 


Laravel 5.4: erro ao rodar o comando migrate (Specified key was too long error) [Resolvido]



Na versão 5.4 do Laravel, foi alterado o character set padrão para utf8mb4, para suportar o armazenamento de emojis no banco de dados. Se você estiver rodando uma versão do MySQL anterior a 5.7.7 ou MariaDB anterior a 10.2.2, ao executar o comando migrate irá retornar o seguinte erro:

[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))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Para resolver esse erro você deverá configurar o default string length manualmente, acessando o arquivo App/Providers/AppServiceProvider.php e chamando o método Schema::defaultStringLength(191). O arquivo ficará assim:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

E porque 191 no tamanho padrão da String? Mais informações no link abaixo:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Super Scaffold 2.0 com ADOdb

Sites para todas as linguagens

[RESOLVIDO] Magento: Não consigo fazer login de administrador após instalação

Site com bons recursos para Joomla

Geany IDE: mais do que um simples editor de texto

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts