運用中のテーブルに対し、
カラムを追加する際の流れについて説明します
マイグレーションファイルの作成
下記コマンドで、マイグレーションファイルを作成します
php artisan make:migrattion add_new_column_to_books_table --table=books
コマンド内容は、
php artisan make:migration
ファイル名
--table=テーブル名
これで database/migrations の中に 作成日時_ファイル名.php が作成されます
マイグレーションファイルの編集
database/migrations の中に作成されているので編集します
database/migrations/2024_10_20_000000_add_new_column_to_books_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('books', function (Blueprint $table) {
$table->string('author', 10)->nullable();
$table->date('release_date')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
$table->dropColumn('author');
$table->dropColumn('release_date');
}
};
マイグレーションファイル内容をDBに反映
ファイルの編集が終了したら、
下記コマンドでデータベースにファイル内容を反映します
作成したファイル内のup()
が実行されます
php artisan migrate
データベースを確認するとbooksテーブルに
author と release_date が追加されています
内容を修正する場合は、
修正前に下記コマンドでテーブル作成前に戻します
作成したファイル内のdown()
が実行されます
php artisan migrate:rollback
修正後、再度下記コマンドででデータベースへファイル内容を反映
php artisan migrate
以上、運用中のテーブルへのカラム追加となります