Laravel 5.4: Specified key was too long error

Το Laravel είναι ένα php framework που κερδίζει όλο και περισσότερους developers χάρη στην απλότητα, το documentation αλλά και τη σωστή οργάνωση που έχει.

Στην έκδοση όμως 5.4 και κατά την προσπάθεια του αρχικού migration της βάσης δεδομένων υπάρχει περίπτωση να εμφανιστεί λάθος με το παρακάτω μήνυμα:

[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  

Στην περίπτωση αυτή μπορούμε να διορθώσουμε το πρόβλημα με τις παρακάτω αλλαγές στο αρχείο app/Providers/AppServiceProvider.php:

use Illuminate\Support\Facades\Schema;

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

Με τις παραπάνω αλλαγές φορτώνουμε το Schema και ορίζουμε το μέγεθος του string στα 191.

Μετά την παραπάνω αλλαγή, μπορείτε να προχωρήσετε σε εκτέλεση εκ νέου του migrate.