好日子,Laravel 5.2下降外鍵
我想砸在以前像這樣實施了Laravel 5.2遷移外鍵:
編輯:使用該表中的ID的創建(前它的外鍵)爲:
$table->integer('agent_rights_id')->unsigned()->nullable();
外鍵:
Schema::table('agents', function (Blueprint $table){
$table->foreign('agent_rights_id')->references('id')->on('agent_rights');
});
我的博士運算看起來是這樣的:
Schema::table('agents', function (Blueprint $table){
$table->dropForeign('agents_agent_rights_id_foreign');
$table->dropColumn('agent_rights_id');
});
我發現,人們必須走「真正」的指標名稱,而不是標籤 - 這在我前面的代碼片斷已經想到的(爲this question參考)。
但是,這給我的錯誤:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1025 Error on rename of './{name}/agents' to './{name}/#sql2-2a6-1d8' (errno: 152) (SQL: alter table `agents` drop foreign key `agents_agent_rights_id_foreign`)
[PDOException]
SQLSTATE[HY000]: General error: 1025 Error on rename of './{name}/agents' to './{name}/#sql2-2a6-1d8' (errno: 152)
研究這個帶來了沒有真正的解決方案,只能從MySQL錯誤訊息...
問:你這個傢伙什麼,或我的代碼段出了什麼問題?
我做了什麼,在這個問題告訴我創造了這個職位之前。這不是同一個問題,因爲我已經在那裏做了什麼。 – Mentenyia
你錯過了一些東西,因爲我在我的項目中運行的一樣,它工作正常。無論如何,我刪除重複並重新打開它。 我也再次檢查你的腳本。 請參閱Laravel文檔https://laravel.com/docs/5.2/migrations。 – Manish
你也可以傳遞一個數組值,它會像'$ table-> dropForeign(['agent_rights_id']);' – Manish