タイトル: データ型とカラム修飾子
Laravelにおけるデータ型の一覧とカラム修飾子に関する記事です。
データ型一覧
$table->bigIncrements('id'); 「符号なしBIGINT」を使用した自動増分ID(主キー)
$table->bigInteger('votes'); BIGINTカラム
$table->binary('data'); BLOBカラム
$table->boolean('confirmed'); BOOLEANカラム
$table->char('name', 4); 長さを指定するCHARカラム
$table->date('created_at'); DATEカラム
$table->dateTime('created_at'); DATETIMEカラム
$table->dateTimeTz('created_at'); タイムゾーン付きDATETIMEカラム
$table->decimal('amount', 5, 2); 有効/小数点以下桁数指定のDECIMALカラム
$table->double('column', 15, 8); 15桁、小数点以下8桁のDOUBLEカラム
$table->enum('choices', ['foo', 'bar']); ENUMカラム
$table->float('amount', 8, 2); 8桁、小数点以下2桁のFLOATカラム
$table->increments('id'); 「符号なしINT」を使用した自動増分ID(主キー)
$table->integer('votes'); INTEGERカラム
$table->ipAddress('visitor'); IPアドレスカラム
$table->json('options'); JSONフィールド
$table->jsonb('options'); JSONBフィールド
$table->longText('description'); LONGTEXTカラム
$table->macAddress('device'); MACアドレスカラム
$table->mediumIncrements('id'); 「符号なしMEDIUMINT」を使用した自動増分ID(主キー)
$table->mediumInteger('numbers'); MEDIUMINTカラム
$table->mediumText('description'); MEDIUMTEXTカラム
$table->morphs('taggable'); 符号なしINTERGERのtaggable_idと文字列のtaggable_typeを追加
$table->nullableMorphs('taggable'); Nullableなmorphs()カラム
$table->nullableTimestamps(); Nullableなtimestamps()カラム
$table->rememberToken(); VARCHAR(100) NULLのremember_tokenを追加
$table->smallIncrements('id'); 「符号なしSMALLINT」を使用した自動増分ID(主キー)
$table->smallInteger('votes'); SMALLINTカラム
$table->softDeletes(); ソフトデリートのためにNULL値可能なdeleted_atカラム追加
$table->string('email'); VARCHARカラム
$table->string('name', 100); 長さ指定のVARCHARカラム
$table->text('description'); TEXTカラム
$table->time('sunrise'); TIMEカラム
$table->timeTz('sunrise'); タイムゾーン付きTIMEカラム
$table->tinyInteger('numbers'); TINYINTカラム
$table->timestamp('added_on'); TIMESTAMPカラム
$table->timestampTz('added_on'); タイムゾーン付きTIMESTAMPカラム
$table->timestamps(); NULL値可能なcreated_atとupdated_atカラム追加
$table->timestampsTz(); タイムゾーン付きでNULL値可能なcreated_atとupdated_atカラム追加
$table->unsignedBigInteger('votes'); 符号なしBIGINTカラム
$table->unsignedInteger('votes'); 符号なしINTカラム
$table->unsignedMediumInteger('votes'); 符号なしMEDIUMINTカラム
$table->unsignedSmallInteger('votes'); 符号なしSMALLINTカラム
$table->unsignedTinyInteger('votes'); 符号なしTINYINTカラム
$table->uuid('id'); データベース向けのUUID類似値
カラム修飾子
修飾子 | 説明 |
---|---|
->first() | カラムをテーブルの最初(first)に設置する(MySQLのみ) |
->after('column') | 指定カラムの次にカラムを設置する(MySQLのみ) |
->nullable() | カラムにNULL値を許す |
->default($value) | カラムのデフォルト(default)値設定 |
->unsigned() | 整数(integer)を符号(unsigned) |
以下、修飾例。
Schema::table('users', function ($table) { |