Laravelにおけるマイグレーションの意味と実行方法

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

状況に応じて、上記のロールバックコマンドを使い分けましょう。

おわりに

Laravelのマイグレーションは、チーム開発が本格化すると使いどころが増えてくるコマンドです。何度か練習しておき、すぐに取り掛かれるよう備えておくと良いでしょう。

ONETECHはメインフレーム 系からオープン系のへのシステム移行、データ移行などシステムマイグレーションを承っております。データマイグレーション 、レガシーマイグレーションに対応しています。VB6.0からVB.netへ、SAP ERPからSAP S/4HANAへ、Cobolからjavaへ、Oracle DB/SQL Server からAWS DBの Auroraへなどマイグレー書のことならご相談ください。マイグレーションを実施することにより、システム運用コストの削減、セキュリティ強化、最新テクノロジーの利用などが可能となります。オフショア開発でのマイグレーションのメリットは、コスト削減と開発リソース調達です。開発費用だけでなく中長期のシステム運用費用も大幅に削減することが可能です。

Windows7のサポートが2020年1月14日に終了しました。 クライアントは 現行の製造・在庫・販売管理システムについてVB6から.Netへの移行を行いWindows10での 動作を可能としました。VB6.0での継続には様々なリスクをマイグレーションすることで解消しました。

返信を残す

    ・見積もりの相談(システム開発の費用を概算で知りたい方?)
    ・企画段階からの相談(こんなアプリの開発できますか?)
    ・オフショア開発に不安のある方(オフショア開発って何ですか?)
    ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
    ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
    ご相談やお見積もりは全て無料で対応いたします。

    下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

    お問い合わせ
    ・見積もりの相談(システム開発の費用を概算で知りたい方?)
    ・企画段階からの相談(こんなアプリの開発できますか?)
    ・オフショア開発に不安のある方(オフショア開発って何ですか?)
    ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
    ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
    ご相談やお見積もりは全て無料で対応いたします。

    下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

    「個人情報保護方針」をお読みいただき同意いただける場合は「この内容を送信する」ボタンを押して下さい。 入力していただいた内容の送信が完了しても、送信中の状態が続く場合がございます。
    入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。

      ・見積もりの相談(システム開発の費用を概算で知りたい方?)
      ・企画段階からの相談(こんなアプリの開発できますか?)
      ・オフショア開発に不安のある方(オフショア開発って何ですか?)
      ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
      ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
      ご相談やお見積もりは全て無料で対応いたします。

      下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

      お問い合わせ
      ・見積もりの相談(システム開発の費用を概算で知りたい方?)
      ・企画段階からの相談(こんなアプリの開発できますか?)
      ・オフショア開発に不安のある方(オフショア開発って何ですか?)
      ・ベトナムやONETECHに興味のある方(ベトナムでビジネスしたいのですが)
      ・エンジニア人材不足にお悩みの方(エンジニアを採用したいのですが?)
      ご相談やお見積もりは全て無料で対応いたします。

      下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

      「個人情報保護方針」をお読みいただき同意いただける場合は「この内容を送信する」ボタンを押して下さい。 入力していただいた内容の送信が完了しても、送信中の状態が続く場合がございます。
      入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
      無料相談
      お問い合わせ