Laravel5的資料庫表建立問題 資料庫遷移操作報錯問題解決

haima2416發表於2017-10-23

轉載請注作者: 海馬
原文地址:http://write.blog.csdn.net/postedit/78319910

執行遷移檔案: php artisan migrate ; 資料庫中就會看到我們新新增的欄位;

報錯

[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

這是由於Laravel 預設使用 utf8mb4 字元, 包括支援在資料庫儲存「 表情」 。 如果你正在執行的 MySQL release 版本低於5.7.7 或 MariaDB release
版本低於10.2.2 , 為了MySQL為它們建立索引, 你可能需要手動配置遷移生成的預設字串長度, 你可以通過呼叫 AppServiceProvider 中的
Schema::defaultStringLength 方法來配置它:\

解決辦法,在紅框處加下下面的程式碼


再次執行遷移檔案: php artisan migrate ; 資料庫中就會看到我們新新增的欄位;

報錯

[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'App\Providers\Schema' not found


解決辦法:

在紅框處加入程式碼


再次執行遷移檔案: php artisan migrate ; 就可以成功建立表了



相關文章