Il problema:"La chiave specificata era troppo lunga; la lunghezza massima della chiave è 767 byte"
Uno di questi problemi che potresti incontrare utilizzando il framework PHP Laravel è questo:
Specified key was too long; max key length is 767 bytes
Dopo alcune ricerche, ho scoperto che viene fuori quando si utilizzano versioni precedenti di MySQL (prima della 5.7.8) o MariaDB (prima della 10.2.2). Era MariaDB nel mio caso.
Soluzione n. 1:
In Laravel questo può essere risolto semplicemente modificando la configurazione del provider di servizi dell'app (in app/Providers/AppServiceProvider.php
) con quanto segue:
use Illuminate\Support\Facades\Schema;
public function boot()
{
/**
* Ensure we aren't running into `Specified key was too long; max key length is 767 bytes`
*
* @see https://peterthaleikis.com/posts/laravel:-specified-key-was-too-long-max-key-length-is-767-bytes/
**/
Schema::defaultStringLength(191);
}
Dopodiché potresti aver bisogno di ricostruire il tuo database usando php artisan migrate:fresh --seed
- questo ripristinerà completamente il tuo database e ricomincerà da capo.
Soluzione n. 2:
Puoi anche aggiornare il tuo server di database. Questo non è stato discusso qui in quanto è molto specifico del sistema. DuckDuckGo è tuo amico 💪️