Laravel migrationファイルの基本的な書き方

デフォルトで用意されているmigrationファイルを眺めて基本的な書き方を学ぶ.
概要は次の通り.

動作環境

  • centOS6.8
  • Laravel5.3
  • MySQL5.7.15

参考

デフォルトで用意されているmigraitonファイルを眺める

次のファイルの中身を見てみる.

  • /database/migrations/2014_10_12_000000_create_users_table.php

upメソッド, downメソッド について

  • upメソッド
    • 新しいテーブル、カラム、インデックスをDBに追加するために使用する
  • downメソッド
    • upメソッドが行った操作を元に戻す

Schema::create()

upメソッドを見ると Schema::create() が使われている.

  • Schema::create('テーブル名', クロージャ)
    • 新たなテーブルを作成する
    • 第1引数はテーブル名
    • 第2引数はテーブル構造を定義するクロージャ
      • クロージャ内で定義するのは, いわゆるテーブル構造
      • 型だったり, 文字列長だったり。

$table->メソッド

ここではテーブル構造を定義している.
使用可能なメソッドは公式ドキュメントで紹介されている.

一先ず, ここで使われているメソッドの意味をまとめてみる.

指定可能なカラムタイプ(抜粋) 意味
increments() PRIのこと
string() VARCHARのこと
unique() 指定したカラムの値を一意にする
rememberToken() VARCHAR(100) NULLのremember_tokenを追加
timestamps() NULL値可能なcreated_at, updated_atカラム追加

参考: 使用できるカラムタイプ | readouble.com

()内にカラム名を指定する.

ここでは次の2点に注目.

  • unique()
  • rememberToken()

unique について

「指定したカラムの値を一意にする」 っていう言い方は少し難しい.
つまり, 一つのテーブル内で同じ値を持っちゃダメ, という宣言をしているということ

今回の例では email カラムに対してuniqueが適用されている.

$table->string('email')->unique();

つまり, 一つのテーブル内で同じメールアドレスの登録を禁止するということ.

remember_token について

なんとなく利用していた remember_token について.
remember_tokenは次の目的で使用される.

継続ログイン

アプリケーションでログイン維持(Remember me)機能を持たせたい場合は、
(中略)
もちろん、”remember me”トークンを保存するために使用する文字列のremember_tokenカラムをusersテーブルに持たせる必要があります。

抜粋 : Laravel 5.3 認証 | readouble.com

もしLaravelでログイン機能を実装するのなら, このカラムは用意した方が良さそう.

今回は以上.

スポンサーリンク
336 x 280 – レクタングル(大)
336 x 280 – レクタングル(大)
  • このエントリーをはてなブックマークに追加

この記事が気に入ったら
いいね!しよう

トップへ戻る