當我們使用 migrate 出現以下訊息:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
這個問題出現在Laravel 5.4版本之後,調整方式如下
解決方式(一):
在 migrate 中使用 unique() 時指定長度為191,必須修改每一個有使用到 unique() 的migrate檔案
$table->string('email', 191)->unique();
解決方式(二):
編輯 app\Providers\AppServiceProvider.php 增加
use Schema;
並在boot funciton內增加
Schema::defaultStringLength(191);
完整程式碼如下:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
}
Laravel 部署時發生Error竟然是版本所造成的
Composer在更新時使用GitHub超過速率限制
架設好網站後,卻遲遲無法透過搜尋引擎找到嗎?快手動登入你的網站讓搜尋引擎找到
對於 MySQL 資料庫資料操作的基本語法大全
RC4加密在密鑰的生成演算中存在漏洞在 Acunetix 弱點掃描中被列為中度風險,以Apache實作關閉RC4加密方式