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