1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel 制約を設定したら name is too longのエラーが出た

Posted at

概要

  • laravelのマイグレーションファイルの記載で制約を設定したら「name is too long」のエラーが出てマイグレーションができなかったので解決方法をメモ的にまとめる。

エラー内容

  • エラー内容を下記に記載する。

    Syntax error or access violation: 1059 Identifier name 'XXXX_YYYY' is too long
    
  • laravelは制約の名前をテーブル名を用いて自動生成している。

  • テーブル名が長すぎると制約名が長くなりすぎる。そのためエラーが出ていた。

解決方法

  • 下記のように制約設定時にメソッドチェーンでnameを指定する。

    $table->foreign('XXXX_id')->references('id')->on('XXXXs')->name('hoge_fuga_piyo_id');
    
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?