Laravelを実際に操作する中で、遅かれ早かれ実施することになるのがマイグレーションです。マイグレーションはアプリ開発を円滑に進めるためには、早い段階からその実行方法を理解しておく必要があります。今回はLaravelにおけるマイグレーションの必要性と、その実行方法についてご紹介します。
Laravelにおけるマイグレーションの意味と実行方法
Laravelにおけるマイグレーションの意味と実行方法
マイグレーションとは
マイグレーションは、Laravelを用いたアプリ開発を行う際、テーブルの定義をマネジメントするために実行するコマンドです。 テーブルの定義は開発を進めていく上で、常に更新が必要になります。そんな時、マイグレーションを行っておけば、チーム内での情報共有が円滑になり、開発効率も向上します。 一度や二度ではなく、定期的に行うことになるため、スムーズに行えるようそのやり方を身につけておくことが大切です。 ちなみにマイグレーションの元々の意味は英語のMigration、つまり「移行」という意味です。 マイグレーションファイルを作成し、そこにテーブルの定義を記述して、新たにデータベースの構築を実行します。 新しいデータベースへ「移行」するという役割を覚えると、マイグレーションという言葉もしっくりくるのではないでしょうか。Laravelのマイグレーションが必要なシーン
Laravelのマイグレーションが必要なシーンとしては、アプリのアップデートがあった場合や、チームでの開発が必要になった場合が挙げられます。単身の場合はSQLコマンドでのテーブル作成でもOK
基本的に、新しいテーブルの定義を行う場合はSQLコマンドやphpmyadminを用いたアプローチでも問題はありません。 特に一人で開発を行っている場合、こちらのやり方との違いがわからないという人も多いのではないでしょうか。結果としても一人の場合はマイグレーションでもSQLコマンドでも違いはないため、慣れ親しんだ方法で臨むのが良いでしょう。チーム開発の際には欠かせないマイグレーション
マイグレーションが進化を発揮するのは、チームでの開発に取り組んでいる場合です。 マイグレーションファイルを作成し、実行すれば自分のデータベースを最新の状態にアップデートできるだけでなく、マイグレーションファイルを共有することで、他の人も簡単にアップデートが行えます。 通常の方法であれば一人一人がコマンドを実行しなければならなかったのが、マイグレーションを行うだけで、作業効率は飛躍的に向上するというわけです。 これからチームでの開発が控えている、今後共同作業が増えていくという人は、ぜひマイグレーションの方法を覚えておきましょう。マイグレーションの実行方法
続いて、実際にマイグレーションの実行方法を見ていきましょう。マイグレーションファイルの作成
マイグレーションを行うにあたって、まずはファイルを作成する必要があります。 マイグレーションファイルの作成を行う場合、まずはプロジェクトの場所へ移動しましょう。 ファイルの作成には、artisanコマンドを使います。プロジェクトの場所へ移動したら、以下のコマンドを入力しましょう。php artisan make:migration <ファイルネーム>
入力後、新たなマイグレーションファイルがdatabase/migrations/の下に作成されているはずです。確認してみましょう。
テーブルの作成
続いて、具体的にテーブルを定義する方法について解説します。上述の方法でマイグレーションファイルを作成すると、デフォルトでupとdownというメソッドが定義されるよう設計されています。 upのメソッドは、データベース構造の変更を実施する際に記述するものです。一方のdownは、一度記述したものを元に戻すためのメソッドとして用意されています。 平たく言えば、データベースのバージョンアップを実行する場合にはup、バージョンをダウンさせる際にはdownを実行すれば良いというわけです。 指定したマイグレーションを実行する場合、以下のコマンドを入力します。php artisan migrate
マイグレーションファイルをデータベースへ反映するためには、このコマンドの入力が必要です。忘れないよう実行しましょう。
マイグレーションの取り消し(ロールバック)
一度行ったマイグレーションは、コマンド入力によって取り消しを行うことも可能です。これはロールバックと呼ばれるもので、以下のコマンドの入力によって実行できます。artisan migrate:rollback
こちらは最新のマイグレーションの実行を取り消すもので、マイグレーションファイルに間違いが見つかった時にひとまず実施すると良いでしょう。
また、以下のコマンドでは複数回にわたってマイグレーションの実行を取り消すことができます。3回前のバージョンに戻すなど、細かな操作が可能です。
artisan migrate:rollback --step=<巻き戻したい件数>
あるいは、以下のコマンドで全てのマイグレーションの実行を取り消すこともできます。
artisan migrate:reset
状況に応じて、上記のロールバックコマンドを使い分けましょう。






