※ この記事にはアフィリエイトリンクが含まれます
Laravelでは、データベースのマイグレーションを通じてテーブルの作成や変更をコードで管理できます。通常、php artisan migrate
コマンドを使ってマイグレーションを実行すると、すべてのテーブルが対象となります。しかし、プロジェクトの進行や要件の変更に伴い、特定のテーブルのみマイグレーションしたいケースも発生します。例えば、既存データの影響を最小限に抑えたい場合や、新しいテーブルのみを追加したい場合です。
本記事では、特定のテーブルのみをマイグレーションする方法について解説します。この方法を活用することで、作業の効率化やリスクの軽減が可能になります。
マイグレーションファイルの基本的な作成方法はこちらで紹介しています。ぜひご覧ください。
Laravel(PHP)を基礎からしっかり学びたい方には、【Schoo(スクー)】のオンライン講座もおすすめです。実務経験のある講師が基礎から丁寧に解説してくれるので、「文法はなんとなく分かるけど使いこなせない…」という方にもピッタリですよ。
特定のテーブルのみマイグレーションを実行する方法
Laravelで特定のテーブルのみをマイグレーションするためには、いくつかの方法があります。通常の php artisan migrate
コマンドでは、すべてのマイグレーションファイルが対象となりますが、ここでは特定のテーブルのみを対象にする方法を紹介します。
--path
オプションを使うと、特定のマイグレーションファイルを指定してマイグレーションが実行できます。以下のように、実行したいテーブルに関連するマイグレーションファイルのパスを指定して実行します。
php artisan migrate --path=/database/migrations/2023_11_06_000000_create_example_table.php
このコマンドは、指定したマイグレーションファイルのみを対象にマイグレーションを実行します。パスは、マイグレーションファイルが保存されているディレクトリからの相対パスで指定してください。
また、--pretend
オプションを使うと、マイグレーションのシミュレーションが可能です。実際にはデータベースには変更を加えずに、どのようなSQL文が実行されるかを確認できます。
php artisan migrate --path=/database/migrations/2023_11_06_000000_create_example_table.php --pretend
このコマンドは、指定したファイルの内容を確認したいときや、変更の影響をシミュレーションしたい場合に便利です。
まとめ
本記事では、Laravelで特定のテーブルのみをマイグレーションする方法について解説しました。通常のマイグレーションコマンドではすべてのテーブルが対象となりますが、--path
オプションを使うことで、特定のテーブルのみに絞ったマイグレーションが可能です。また、--pretend
オプションを利用することで、マイグレーションの内容を事前に確認できるため、変更の影響を最小限に抑えることができます。
特定のテーブルのみをマイグレーションする方法は、プロジェクトが大規模になるほど便利で、データベース操作の効率を向上させます。この記事を参考に、柔軟なマイグレーション運用を実現し、Laravel開発をより効率化していただければ幸いです。
Laravel(PHP)の理解をさらに深めたいと感じた方は、【Schoo(スクー)】の動画講座を活用してみるのも一つの手です。無料で受講できる入門講座もあり、独学にプラスすることで理解がぐっと深まります。

PHPだけでも20講座以上あります!
7000本の授業が見放題!社会人向けオンライン学習動画【Schoo(スクー)】
私がLaravel学習でお世話になった教材たち
Laravelを学ぶにあたって、私自身が特に参考にしたオンライン講座や書籍をご紹介します。どれも初学者にもやさしく、理解を深めるのに役立ったものばかりです。
オンライン講座
ちゃんと学ぶ、PHP+MySQL(MariaDB)入門講座
Laravelの基本から実践的なアプリ開発までを丁寧に解説。初心者がつまずきやすいポイントもカバーしてくれていて、何度も見返しました。
書籍編
PHPフレームワークLaravel入門 第2版
Laravelの思想から実装パターンまで丁寧に解説されており、「なんとなく使っていた」部分が腑に落ちた一冊です。
PHPフレームワーク Laravel実践開発
実際の現場に即したテクニックや設計の考え方が学べます。「次のステップに進みたい」と感じたときにぴったりでした。
コメント