Laravelのマイグレーションの基本的なしくみ
初見でマイグレーションを見たときに意味がわからないので,最初に押さえておくと良いポイントのまとめ.
マイグレーションの基本的なしくみ
Laravel におけるマイグレーションが実行されるときの流れは以下のようになる.
-
マイグレーションファイルの作成
-
php artisan make:migration
コマンドを使用して新しいマイグレーションファイルを作成する.このファイルにはデータベーステーブルの作成,変更,削除などの操作を定義するものである.
-
-
マイグレーションファイルの編集
-
生成されたマイグレーションファイルを編集して,実行するデータベースの操作(テーブルの作成やカラムの追加など)を定義する.
-
up
メソッドには,データベースに対して実行する操作を記述し,down
メソッドには,up
メソッドで実行した操作を元に戻す操作を記述する(テーブル作成に対するテーブル削除など). -
特にカラム操作のマイグレーションファイルを作成する場合には,
down
メソッドを適切に記述することが重要となる.
-
-
マイグレーションの実行
-
php artisan migrate
コマンドを実行し,マイグレーションファイル内の操作をデータベースに適用する.このコマンドはまだ実行されていない全てのマイグレーションを順に実行する. -
具体的には,マイグレーションファイルの
up
メソッドが実行される.
-
-
マイグレーションの記録
-
マイグレーションが実行されると,実行された内容が DB の
migrations
テーブルに記録される.これにより,どのマイグレーションが既に実行されたかを Laravel が追跡できる. -
migrations
テーブルのレコードを削除した場合には実行した記録が消去されるため,php artisan migrate
コマンドを実行すると,そのマイグレーションが再度実行される.
-
-
マイグレーションのロールバック
-
もし最新のマイグレーションを元に戻す必要がある場合,
php artisan migrate:rollback
コマンドを使用して最後に実行されたマイグレーションをロールバック(元に戻す)ことができる. -
ロールバックでは,マイグレーションファイルの
down
メソッドが実行される.
-
以上だ( `・ω・)b
Discussion