Laravel開発でマイグレーションを使うべき3つの理由

こんにちは。Laravelでデータベーススキーマの変更管理に使われるマイグレーションですが、マイグレーション用のコードを書くことを正直面倒だと感じたことはありませんか?私なんかも、ついついデータベース設計ツールが吐き出すSQLに頼ってしまったりします。

しかし、結論からお伝えすると、使うことを強くオススメします。はじめは確かに面倒ですが、使うことで後々管理する上でのメリットがかなり大きいです。そのメリットを3点お伝えしていきます。

①環境構築が楽

システム開発は複数人で行うことが圧倒的に多いと思います。そして開発者は安心して開発するために、それぞれのPCにローカルの開発環境を構築したいと考えています。開発中にデータベースに変更が生じた場合に、都度修正用のSQLを配布するのは骨が折れます。場合によってはローカルのテストデータを壊してしまわないように気を配る必要もあるでしょう。

マイグレーションを使えば、上記の負担がかなり軽減されます。変更のマイグレーションを作成し、GitにPUSHし、マイグレーションの実行依頼を開発者にかけるだけです。開発者のテストデータが消える心配もありません。この効果だけでもマイグレーションを使う価値があります。

②間違えたらロールバックできる

データベースの変更に誤りがあった場合は結構悲惨ですよね?そんな場合でもマイグレーションで作成しておけばartisan migrate:rollbackコマンドで簡単に元の状態に戻すことができます。セーフティネットが設けられているので安心して使うことができます。

③変更履歴が残る

マイグレーション自体がデータベースの変更履歴として機能します。マイグレーションで管理できていれば、わざわざExcelやWordでドキュメントを作る必要はありません。ただ、ドキュメントとして利用するには、わかりやすい説明をコメントに記述することが重要です。

まとめ

今回はマイグレーションを使うべき理由を3点紹介しました。はじめにテーブルを作るときは若干の面倒臭さを感じるマイグレーションですが、管理面ではかなり優秀です。Create文からマイグレーション作るツールがあると完璧なんですけどね。今度探してみようと思います。

Laravel

Posted by kobainmac