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のみに適用可能