2017-05-28 49 views
1

我必須更改我的數據庫中的表,以便primary key不是標準incrementsLaravel遷移中的字符串作爲主鍵

這裏的遷移,

public function up() 
{ 
    Schema::create('settings', function (Blueprint $table) { 
     $table->text('code', 30)->primary(); 
     $table->timestamps(); 
     $table->text('name'); 
     $table->text('comment'); 
    }); 
} 

然而,MySQL的保持與恢復,

語法錯誤或訪問衝突:1170 BLOB在 關鍵的規格沒有一個密鑰/文本列 '代碼' (SQL:alter table settings 添加主鍵settings_code_primarycode

我已經嘗試在其中保留正常的incrementsid,並在不同的遷移中修改表,但同樣的事情發生。

任何想法我做錯了什麼?

Laveral Version 5.4.23

回答

5

將其更改爲字符串。

$table->string('code', 30)->primary(); 
+0

就是這樣,也需要'composer dump-autoload'。愚蠢的錯誤。再次感謝。 – DGeo