Laravel 移行時に既存のテーブルに新しい列を追加する 質問する

Laravel 移行時に既存のテーブルに新しい列を追加する 質問する

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

...を使用して移行ファイルを編集しようとしました。

<?php

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

ターミナルで、php artisan migrate:installと を実行しますmigrate

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

ベストアンサー1

マイグレーションを作成するには、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');特定の列の後にこのフィールドを追加するために使用します。MySQLのみに適用可能

おすすめ記事