erro-laravel-php-sql

Definir tamanho padrão de string no Laravel

Ao instalar o Framework Laravel para trabalhar com base de dados (utf8) precisamos adicionar algumas linhas de códigos para que não de um erro de violação de acesso por ter um campo string mais longo do que o suportado pela base de dados.

O erro que aparece é esse:

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

Para resolver o problema, vamos editar o arquivo app\Providers\AppServiceProvider.php, adicionar o namespace use Illuminate\Support\Facades\Schema; e dentro do método boot vamos adicionar Schema::defaultStringLength(191);

O arquivo final vai ficar parecido com o seguinte:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

Publicado por

Lisanias Loback

Pastor na Igreja Casa de Oração Para Todos os Povos, trabalhando na área social no NUSELON - Núcleo Social Evangélico de Londrina, uma ONG que cuida de crianças em situação de riscos. Atua na área de ensino teológico e na área de TI. É formado em Teologia pela UNIFIL e é técnico em contabilidade.

Nos encoraje deixando seu comentário aqui.