2017-05-28 3 views
1

primary keyが標準incrementsではないようにデータベース内のテーブルを変更する必要がありました。Laravelの移行でのプライマリキーとしての文字列

ここ

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/TEXT列 'コード' を長さ(SQL:alter table settings 主キーの追加settings_code_primarycode

私は通常のincrementsidをそこに置き、別の移行でテーブルを変更しようとしましたが、同じことが起こります。

私が間違っていることのアイデアはありますか?文字列へ

Laveral Version 5.4.23

答えて

5

変更に。

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

これは、「composer dump-autoload」にも必要でした。愚かな間違い。再度、感謝します。 – DGeo

関連する問題