LoginSignup
0
0

More than 3 years have passed since last update.

Laravelマイグレーション

Posted at

マイグレーションでできること

テーブル定義を管理する仕組みのこと。
マイグレーションファイルを作成し、それを実行することでファイル内で定義した内容をもとにデータベーステーブルを作成する。

参照記事
https://www.hypertextcandy.com/how-laravel-migration-works

マイグレーションファイルの作成

php artisan make:migration create_{テーブル名}_table

database/migrationディレクトリに年_月_日_時間_create_{テーブル名}_table.phpというファイルが作成される。
updownという2つのメソッドを持つクラスが存在する。

upメソッドの中にどういうテーブルにするかの詳細を書いていく。
*カラム名・型など

公式ページ参照
https://readouble.com/laravel/5.5/ja/migrations.html

downメソッドはロールバック(マイグレーションを元に戻す機能)の時に実行される。

マイグレーション実行

php artisan migrate

実行することによってデータベースに3つのテーブルが作成される。
①作成したファイルのテーブル
→ファイル内で定義したテーブルが作成される
②migrationsテーブル
→マイグレーションを実行する度に追加されたファイル名が保存されるテーブル
③password_resetテーブル

マイグレーションの変更

php artisan make:migration {マイグレーションファイル名} --table={テーブル名}

{マイグレーションファイル名}の部分はそのままクラス名になるためわかりやすい名前にする
*カラム追加の場合
→add_cloumn_name_users_table

現在あるマイグレーションファイルを編集するのではなく新たに変更を加える内容を記載したファイルを作成し実行する。
例えばカラム名を変更する際はrenameColumnメソッドを使用する。
おそらくそのまま使用しても使えないため変更追加用パッケージをインストールする必要がある。

composer require doctrine/dbal

これをインストールすればカラム名を変更することが可能となる。

ロールバック

php artisan migrate:rollback

downメソッドを実行する
データベースのmigrationsテーブルのバッチ単位で処理される。
ロールバックを行うことによってバージョン管理のようにマイグレーション内容を元に戻すことができる。

0
0
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
0
0