9
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】マイグレーションのカラム作成、よく使うデータ型まとめ

Posted at

目次

1. データ型

integer()
bigInteger()
double()
string ()
text()
boolean()
softDeletes()

2. カラム修飾子

default()
nullable()
comment()
unsigned()

3. おわりに

1. データ型

integer()

データベースにINTEGERカラムを作成する。範囲は-2,147,483,648〜2,147,483,647。符号なしの場合は0〜4,294,967,295。

$table->integer('sales');

bigInteger()

データベースにBIGINTカラムを作成します。範囲は-9,223,372,036,854,775,808〜9,223,372,036,854,775,807。符号なしの場合は0〜18,446,744,073,709,551,615。

$table->bigInteger('sales');

double()

データベースにDOUBLEカラムを作成します。精度(合計桁数)とスケール(小数桁数)を指定します。下の例では全8ケタで小数点以下が2ケタになります。

$table->double('amount', 8, 2);

string ()

データベースにVARCHARカラムを作成します。長さ(半角英数字での文字数)を指定します。最大65535。全角の場合は文字のbyte数により格納できる文字数が変わります。

$table->string('name', 100);

text()

データベースにTEXTカラムを作成します。長さの指定はなく、半角英数字で65535文字入ります。

$table->text('description');

boolean()

データベースにBOOLEANカラムを作成します。

$table->boolean('confirmed');

softDeletes()

データベースにカラム名「deleted_at」のTIMESTAMPカラムを作成します。Eloquentの「ソフトデリート」機能に必要なdeleted_atタイムスタンプを格納するためのものです。

$table->softDeletes();

2. カラム修飾子

default()

カラムのデフォルト値を指定できます。下の例では、category_idのデフォルト値に1を指定しています。

$table->bigInteger('category_id')->default(1);

nullable()

カラムにNULL値を許します。モデルを生成する際に、そのカラムが空であることを許容できるようになります。

$table->text('self_introduction')->nullable(0);

comment()

コメントを設定できます。データベースのカラムのコメントに反映されます。

$table->string('email')->comment('ユーザーのEメールアドレス');

unsigned()

整数(integer)を符号無し(unsigned)にします。上記ではinteger()とbigInteger()に使えます。

$table->bigInteger('user_id')->unsigned();

おわりに

Laravelでよく使うデータ型(カラム)についてまとめました。もっと他のデータ型を知りたいという方は、以下のLaravelのページ内「利用可能なカラムタイプ」をご参照ください。

9
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
9
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?