🔖
LaravelのマイグレーションでDBのテーブル自体にコメントをつける
TL;DR
$table->comment('')を追加するだけ
//例
Schema::create('table_name', function (Blueprint $table) {
$table->comment('ここにテーブルにつけたいコメントを入れる');
});
説明
Laravelでマイグレーションにする際にDBのカラムにコメントをつけることは簡単でした。
コマンド例
$table->string('email')->comment('コメント');
しかし、テーブルへのコメントはサポートされておらず、マイグレーションファイルにSQLコマンドを記述する方法を行っていました。
コマンド例
DB::statement("ALTER TABLE `foo` comment 'comment'");
せっかくなら、全部マイグレーション記法で書きたいですよね。
とうとう、Laravel 9.14でPRが入りました。やったね。
例
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
$table->comment('パスワードリセットテーブル');// <- こんな感じ
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('password_resets');
}
};
ドキュメントにも方法が記載されています。
なお、 テーブルコメントは現在、MySQLとPostgresでのみサポート
は注意です。
おわり
Discussion