この記事では
Laravelでデータベーステーブルのカラム名を変更する方法
を解説します。
Laravelではマイグレーションファイルを作成・編集し、コマンドでテーブルを作成します。
その際、テーブルのカラム名を間違えて入力してしまうということも起こりえます。
また、仕様変更によってカラム名の変更が必要となる可能性も考えられるでしょう。

今回ご紹介する方法を用いることで簡単にカラム名を変更できるので、ぜひご活用ください!
【解説】Laravelでデータベースのカラム名を変更する方法
STEP1 マイグレーションファイルを作成する
まずは以下のコマンドでマイグレーションファイルを作成しましょう。
php artisan make:migration change_column_name_comments_table
STEP2 マイグレーションファイルを編集する
続いて、作成されたマイグレーションファイルを編集していきます。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* マイグレーション実行時に動く処理
*/
public function up(): void
{
Schema::table('nices', function (Blueprint $table) {
$table->renameColumn('post_id', 'comment_id')->change();
});
}
/**
* ロールバック実行時に動く処理
*/
public function down(): void
{
Schema::table('nices', function (Blueprint $table) {
$table->renameColumn('comment_id', 'post_id')->change();
});
}
};
主な編集個所はup()
関数とdown()
関数の2つです。
Laravelにはchange()
関数が用意されており、以下のように記述することでカラム名を変更することが可能です。
$table->renameColumn('post_id', 'comment_id')->change();
また、down()
関数にも以下の処理を記述しています。
down()関数
$table->renameColumn('comment_id', 'post_id')->change();
down()
関数はロールバック実行時に動く関数です。
ここに記述するのは、簡単に言えばup()
関数で実行させる処理と逆の処理です。
※今回は「post_id」を「comment_id」へ修正しているため、down()
関数の方には、その反対の処理を記述しています。down()
はマイグレーション実行時には動きませんが、ロールバックするときに正しく処理が書かれていないとエラーが発生するためご注意ください。
STEP3 マイグレーションを実行する
マイグレーションファイルが編集できたら以下のコマンドでマイグレーションを実行しましょう。
php artisan migrate
STEP4 カラム名が変更されていることを確認する
最後に、本当にカラム名が変更されたかどうかを確認してみましょう。
この記事ではSQLite3での確認方法をご紹介します。
Laravelプロジェクトディレクトリの直下で以下のコマンドを実行することでSQLite3をCLIで起動することができます。
sqlite3 .\database\database.sqlite


SQLite3で特定のテーブル構造を確認するときは以下のコマンドを実行します。
PRAGMA table_info('nices');
SQLite3のCLIモードを終了するときは以下のコマンドを実行します。
.quit



以上がLaravel11でデータベーステーブルのカラム名を変更する方法です!
まとめ
以上がLaravelでデータベーステーブルのカラム名を変更する方法でした。
人の手でおこなう以上、カラム名の記述ミスが絶対に起こらないとは言い切れません。
また、仕様変更にともなうカラム名の変更も可能性としてはゼロではないでしょう。



そのようなときに今回ご紹介させていただいた内容をご活用いただければ何よりです。
それでは、最後までご覧いただきありがとうございました!
当ブログではLaravelやPHPなどWebアプリに関する情報を発信しています。
ご興味のある方はほかの記事もご覧いただけるとうれしいです!


コメント