1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelマイグレーション入門

Last updated at Posted at 2025-03-10

はじめに

こんにちは!
エンジニアの matsuura です。

今回は、Laravelにおけるマイグレーションについて、紹介していきます。
特定のテーブルを変更するマイグレーションファイルの作成方法について解説します。

マイグレーションファイルの作成について

実行環境

今回は、以下の環境で実行確認しています。
使用する環境によってはバージョンの違いによる挙動の変化があるため、ご自身の環境と適宜照らし合わせてください。

  • PHP: 8.2.23
  • Laravel: 11.0.8
  • データベース: MySQL 8.0
  • Composer: 2.8.5

マイグレーションファイル作成コマンド

マイグレーションファイルを作成するには、php artisan make:migration コマンドを使用します。

php artisan make:migration <説明> --table=<テーブル名>

例えば、hoge テーブルに fuga カラムを追加するマイグレーションを作成する場合、以下のようにコマンドを実行します。

php artisan make:migration add_fuga_to_hoge_table --table=hoge

このコマンドを実行すると、database/migrations ディレクトリ内に新しいマイグレーションファイルが作成されます。

マイグレーションファイル編集

作成されたマイグレーションファイルを開くと、up メソッドと down メソッドが含まれています。

up メソッドの編集

up メソッドでは、新しいカラムを追加する処理を記述します。

public function up()
{
    Schema::table('hoge', function (Blueprint $table) {
        $table->string('fuga')->nullable()->after('exists_column');
    });
}

down メソッドの編集

down メソッドでは、up メソッドの変更を元に戻す処理を記述します。

public function down()
{
    Schema::table('hoge', function (Blueprint $table) {
        $table->dropColumn('fuga');
    });
}

マイグレーションの実行

マイグレーションを適用するには、以下のコマンドを実行します。

php artisan migrate

逆に、マイグレーションを取り消したい場合は、以下のコマンドを使用します。

# 最後に実行したマイグレーションを取り消しいたい場合
php artisan migrate:rollback
# 全て取り消したい場合
php artisan migrate:reset
# 全て取り消した後、再度マイグレーション実行したい場合
php artisan migrate:refresh
# 全てのテーブルを削除した後、再度マイグレーション実行したい場合
php artisan migrate:fresh

マイグレーションの状態を確認したい場合は、以下のコマンドを使用します。

php artisan migrate:status

最後に

今回は、既存のテーブルを変更するマイグレーションファイルの作成方法について説明しました。
Laravelのマイグレーションを利用することで、データベースのスキーマ変更を簡単に管理できます。
ぜひ積極的に開発で利用し、効率的なデータベース管理に役立ててもらえたらと思います。

エンジニア募集

Gakken LEAP では教育をアップデートしていきたいエンジニアを絶賛大募集しています!!
ぜひお気軽にカジュアル面談へお越しください!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?