0
0

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】テーブル変更(カラム追加)

Posted at

運用中のテーブルに対し、
カラムを追加する際の流れについて説明します

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

下記コマンドで、マイグレーションファイルを作成します

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テーブルに
authorrelease_date が追加されています

内容を修正する場合は、
修正前に下記コマンドでテーブル作成前に戻します
作成したファイル内のdown()が実行されます

php artisan migrate:rollback

修正後、再度下記コマンドででデータベースへファイル内容を反映

php artisan migrate

以上、運用中のテーブルへのカラム追加となります

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?