使用命令生成用戶認(rèn)證相關(guān)數(shù)據(jù)庫(kù)桂对。
php artisan migrate
?問(wèn)題:在執(zhí)行命令時(shí)译柏,出現(xiàn)以下錯(cuò)誤唐全。
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`))
很明顯割以,Specified? key太長(zhǎng)了启具。
解決辦法:在AuthServiceProvider.php中設(shè)置默認(rèn)鍵長(zhǎng)本讥。在boot方法中添加
Schema::defaultStringLength(191);//這里跟數(shù)據(jù)庫(kù)編碼有關(guān)。utf8字符串最大長(zhǎng)度為255,而utf8mb4字符串最大長(zhǎng)度為191拷沸,所以這里設(shè)置成191
修改后再執(zhí)行上面的命令色查。創(chuàng)建成功。
注:數(shù)據(jù)庫(kù)編碼最好是 utf8mb4 代替utf8撞芍,防止emoji表情無(wú)法存儲(chǔ)的問(wèn)題(emoji表情是一種特殊的Unicode編碼)秧了。