カテゴリ: Laravel 更新日: 2026/05/08

Laravelのマイグレーションを実行・ロールバックするコマンド完全ガイド!初心者でもわかるデータベース操作

Laravelでマイグレーションを実行・ロールバックするコマンドまとめ
Laravelでマイグレーションを実行・ロールバックするコマンドまとめ

先生と生徒の会話形式で理解しよう

生徒

「Laravelでデータベースのテーブルってどうやって作るんですか?」

先生

「Laravelでは、マイグレーションという仕組みを使ってテーブルを作成できます。」

生徒

「マイグレーションって何ですか?難しそうです…」

先生

「簡単に言うと、データベースの設計図のようなものです。コマンドで作成や削除もできます。」

生徒

「間違えたときに元に戻せますか?」

先生

「もちろんです。ロールバックという機能で簡単に戻せますよ。」

1. Laravelのマイグレーションとは?

1. Laravelのマイグレーションとは?
1. Laravelのマイグレーションとは?

Laravelのマイグレーションとは、データベースの構造をコードで管理する仕組みです。テーブルの作成や変更をプログラムとして記録することで、誰でも同じデータベース構造を再現できるようになります。

例えば、ノートに設計図を書いておけば、後から見ても同じ家を建てられるのと同じように、マイグレーションを使うことでデータベースの状態を簡単に再現できます。

2. マイグレーションを実行するコマンド

2. マイグレーションを実行するコマンド
2. マイグレーションを実行するコマンド

Laravelでマイグレーションを実行する基本コマンドは次の通りです。


php artisan migrate

このコマンドを実行すると、まだ実行されていないマイグレーションファイルが順番に実行され、データベースにテーブルが作成されます。

初心者の方は「migrate」という言葉に戸惑うかもしれませんが、これは「移行する」という意味です。つまり、設計図をもとにデータベースへ反映する操作です。

3. マイグレーションの状態を確認する

3. マイグレーションの状態を確認する
3. マイグレーションの状態を確認する

どのマイグレーションが実行されているか確認したい場合は、次のコマンドを使います。


php artisan migrate:status

このコマンドを実行すると、実行済みか未実行かが一覧で表示されます。チェックマークのような表示で判断できるため、初心者でも安心です。

データベースの状態を把握することはとても重要です。特にチーム開発では、誰がどこまで作業したのか確認するために使われます。

4. ロールバックとは?元に戻す仕組み

4. ロールバックとは?元に戻す仕組み
4. ロールバックとは?元に戻す仕組み

ロールバックとは、直前に実行したマイグレーションを取り消す操作のことです。

例えば、テーブルを作ったけれど間違いに気づいた場合、その変更を元に戻すことができます。


php artisan migrate:rollback

このコマンドを実行すると、最後に実行したマイグレーションが取り消されます。

イメージとしては「一つ前の状態に戻るボタン」です。初心者でも安心して操作できる仕組みになっています。

5. 指定回数だけロールバックする方法

5. 指定回数だけロールバックする方法
5. 指定回数だけロールバックする方法

複数回分のマイグレーションをまとめて戻したい場合は、stepオプションを使います。


php artisan migrate:rollback --step=2

この例では、直近2回分のマイグレーションを取り消します。

stepとは「段階」という意味で、どこまで戻すかを指定できます。大きな変更をした後に一気に戻したいときに便利です。

6. すべてのマイグレーションをリセットする

6. すべてのマイグレーションをリセットする
6. すべてのマイグレーションをリセットする

すべてのマイグレーションを取り消して、最初の状態に戻すには次のコマンドを使います。


php artisan migrate:reset

このコマンドは、すべてのテーブルを削除するようなイメージです。

開発中のテストや、やり直したいときによく使われます。

7. リフレッシュで再作成する

7. リフレッシュで再作成する
7. リフレッシュで再作成する

マイグレーションをすべて削除してから、再度実行したい場合は次のコマンドを使います。


php artisan migrate:refresh

このコマンドは「全削除してから再作成」という動きを一度に行います。

データベースの状態をきれいに整えたいときに便利です。

8. 完全に作り直すfreshコマンド

8. 完全に作り直すfreshコマンド
8. 完全に作り直すfreshコマンド

さらに強力なコマンドとして、freshがあります。


php artisan migrate:fresh

このコマンドは、すべてのテーブルを削除してからマイグレーションを実行します。

refreshとの違いは、よりシンプルに完全リセットできる点です。開発初期やテスト環境でよく使われます。

9. よくあるエラーと対処法

9. よくあるエラーと対処法
9. よくあるエラーと対処法

初心者がつまずきやすいポイントとして、データベース接続エラーがあります。

これは.envファイルの設定ミスが原因であることが多いです。

例えば、データベース名やパスワードが間違っていると、マイグレーションは実行できません。

また、すでに同じテーブルが存在する場合もエラーになります。この場合はrollbackやfreshを使って調整しましょう。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルーティングでサブドメインを使う方法!初心者向けにやさしく解説
New2
Laravel
Laravelでマルチ言語ルートを設定する方法!ロケールごとのprefixで簡単管理
New4
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
人気記事
No.1
Java&Spring記事人気No1
Symfony
SymfonyのRemember Me機能を完全解説!初心者でもわかるログイン保持の仕組み
No.2
Java&Spring記事人気No2
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
No.3
Java&Spring記事人気No3
Laravel
LaravelのFeatureテストとUnitテストの違いを理解しよう
No.4
Java&Spring記事人気No4
Laravel
Laravelでルートに中間処理を追加する方法!ミドルウェア活用ガイド
No.5
Java&Spring記事人気No5
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.6
Java&Spring記事人気No6
Laravel
Laravelでドメインルートを使う方法!マルチドメイン対応を初心者向けに解説
No.7
Java&Spring記事人気No7
CodeIgniter
CodeIgniterで多言語対応(Language)を徹底解説!言語切り替え機能を実装
No.8
Java&Spring記事人気No8
CodeIgniter
CodeIgniterでファイルアップロードとストレージ管理をマスター!初心者向け完全ガイド