40代オヤジのプログラミング悪あがきブログ

40代のオヤジがプログラミング業界で悪あがきするテック系ブログです

Laravelのマイグレーションで使えるデータ型まとめ

マイグレーションファイルをいじるときに結構間違えたり、忘れたりするのでメモします。

書き方サンプル: $table->increments('id');

  • increments('id') =「符号なしINT」を使用した自動増分ID(主キー)
  • binary('カラム名') = バイナリデータカラム
  • boolean('カラム名') = 真偽値カラム
  • char('カラム名', 長さ) = 長さを指定する文字列カラム
  • date('カラム名') = 日付カラム
  • time('カラム名') = 時間カラム
  • dateTime(カラム名) = 日時カラム
  • double('カラム名', 桁数, 小数点以下桁数) = ○桁で小数点以下×桁の小数カラム
  • enum('カラム名', ['定数', '定数']) = ENUMカラム
  • integer('カラム名') = 数値データカラム
  • json('カラム名') = JSONフィールドカラム
  • timestamp('カラム名') = TIMESTAMPカラム
  • timestamps() = created_atとupdate_atカラム
  • nullableTimestamps() = NULL値を許す以外、timestamps()と同じ
  • string('カラム名') = VARCHARカラム
  • string('カラム名', 長さ) = 長さ指定のVARCHARカラム
  • text('カラム名') = TEXTカラム

入力必須出ない場合はそれぞれのデータ型の後に ->nullable(); を入れると、入力必須ではなくなります。