Laravelは今人気のPHPフレームワークの一種ですが、データベースをコントロールする上で欠かせないのがマイグレーションです。
Laravelのマイグレーションを実行する目的や方法を理解し、運用に活かしていきましょう。
Laravelの強み
WebアプリケーションやWebサイトの開発に利用されるLaravelですが、なぜ今このPHPフレームワークをこぞって利用するエンジニアが増えているのでしょうか。
主な特徴としては、以下の2点が挙げられます。
学習が容易
1つ目は、Laravelが比較的学習の容易なフレームワークであることが挙げられます。
Laravelは、大規模なWebアプリケーションの開発に使われてきたSymfonyと呼ばれるフレームワークをベースとしており、使い方も似ています。
そのため、Symfonyの活用に際して活かされてきたノウハウを、そのままLaravelにおいても生かすことができるだけでなく、使い勝手も似ているので、プロ受けも良いのです。
また、Laravelの公式サイトも日本語対応が完了しているだけでなく、日本語のLaravelコミュニティも豊富なため、いつでもサポートを得ることができるのも強みです。
PHPフレームワークの活用の場はますます広がっているため、少しでも使いやすいものが利用者の増加につながります。
日本語対応のサイトもあるため、安心して使用できるのは嬉しいところです。
Laravel公式:http://laravel.jp/
機能性に優れている
LaravelはSymfonyを踏襲しているだけでなく、機能性の面ではアップデートが行われている点も注目です。
これまでのPHPフレームワークは、エンジニアが自前で必要な機能を組み込んでいたために、開発のために必要なコストも大きくなっていました。
しかしSymfonyの場合は、初めから様々な機能が標準搭載されているために、エンジニアが改めて機能を拡張する必要はありません。
特定のデータベースエンジンに依存しておらず、Unix、Windowsプラットフォームにおける動作が保証されているのも、Symfonyの強みです。
この効果によって、エンジニアの負担が大幅に軽減されるだけでなく、開発に必要な工数も削減できるため、コストパフォーマンスの向上にもつながります。
Laravel はこのような使い勝手をしっかりと再現しているので、Symfonyの動作環境を維持したまま利用することもできます。
Laravelでマイグレーションを行う方法
ここで、Laravelのマイグレーション機能を見ていきましょう。マイグレーションの実行方法を覚えておくことで、チーム内共有の負担を軽減することができます。
Laravelにおけるマイグレーションとは
Laravelにおけるマイグレーションは、データベースの管理の際に必要となるコマンドです。
アプリの開発を進めていくと、以前に行ったテーブルの定義は、次第に変更を余儀なくされるようになっていきます。
そこでマイグレーションを実行することにより、データベースは常に最新の状態にアップデートされ、情報共有の際の混乱を防ぐことが可能になります。
新旧のバージョンに合わせ、適切なデータベースを備えておくことは非常に重要です。必要に応じていつでも行えるよう、その手順を確認しておきましょう。
マイグレーションを行うことで、テーブルの作成や削除、カラムの追加などが実現します。
マイグレーションの実行
マイグレーションの実行においてまず必要なのは、マイグレーションファイルの作成です。
マイグレーションファイルの作成は、Laravel専用のコマンドであるArtisanコマンドを使用して行います。
ArtisanはLaravelの運用においては非常に便利なコマンドで、マイグレーション以外にもチーム間共有を行う上で役立ってくれます。
「artisan make:」など有用なコマンドが多いため、積極的に活用していきましょう。
マイグレーションファイルの作成においては、「php artisan make:migration create_users_table」を使用します。
マイグレーションファイルはdatabase/migrationsフォルダに格納されます。見失った時には参照してみましょう。
マイグレーションファイルを作成する際、マイグレーション適応時の処理を行うup、取り消しの処理を行うdownのメソッドも必要となります。
最新のデータベースと、過去のデータベースのどちらにもアクセスする上でも必要になることは覚えておきましょう。
実際にマイグレーションのコマンドを実行すると、migrationのテーブルの検索結果とマイグレーションファイルが追加されたディレクトリの比較が行われます。
その中に実行されていないファイルがあった場合、upのメソッドが機能し、順番に実行されるようになっているのです。
おわりに
Laravelは今後も大いに活用される可能性の高いPHPフレームワークです。
そのため、多くのメンバーとデータベースの共有を行っていかなければならないケースも増えていくと考えられます。
マイグレーションの実行についてあらかじめ理解しておき、いつでも新旧のデータベースを参照できる環境を整えておきましょう。
ONETECHのシステムマイグレーション
ONETECHではシステムのマイグレーションに対応しております。オフショア開発のメリットは、マイグレーションを進める上で壁となる、エンジニア不足やコストを克服できることです。
ONETECHはシステムのマイグレーションに対応しております。
とくに機能開発ではなく、新言語への書き換えなどは、通常の開発時の仕様理解の時間に比べプログラミング言語のコードベースで理解できるので、仕様理解するための通訳翻訳を最低限に抑えることで、理解コストを抑えることができ効率よく低コストでマイグレーションができるのでオフショア開発とマイグレーション は非常に相性が良いです。