1. ホーム
  2. php

[解決済み] Laravel マイグレーションで既存のテーブルに新しいカラムを追加する

2022-03-23 04:58:07

質問

Laravelフレームワークを使用して、既存のデータベーステーブルに新しいカラムを追加する方法がわかりません。

マイグレーションファイルを編集しようとしたのですが...

<?php

public function up()
{
    Schema::create('users', function ($table) {
        $table->integer("paid");
    });
}

ターミナルで php artisan migrate:installmigrate .

新しいカラムを追加するにはどうすればよいですか?

解決方法は?

移行を作成するには、Artisan CLI で migrate:make コマンドを使用します。 既存のモデルとの衝突を避けるため、特定の名前を使用します。

Laravel 5+の場合。

php artisan make:migration add_paid_to_users_table --table=users

をLaravel 3用に変更しました。

php artisan migrate:make add_paid_to_users

次に Schema::table() メソッドを使用します (新しいテーブルを作成するのではなく、既存のテーブルにアクセスするためです)。 そして、このようにカラムを追加することができます。

public function up()
{
    Schema::table('users', function($table) {
        $table->integer('paid');
    });
}

と、ロールバックオプションを追加することを忘れないでください。

public function down()
{
    Schema::table('users', function($table) {
        $table->dropColumn('paid');
    });
}

そして、マイグレーションを実行することができます。

php artisan migrate

これは、Laravel 4とLaravel 5の両方のドキュメントで十分にカバーされています。

そして、Laravel 3 の場合。

編集する

使用 $table->integer('paid')->after('whichever_column'); を使用すると、特定のカラムの後にこのフィールドを追加することができます。