はじめに
A5:SQLを使用するユーザーにとっては、テーブルカラム設定を参照すると論理名とコメントの列がそれぞれ表示されるため、使い分けたい時があると思います。
よくあるテーブル定義のように論理名と用途としてのコメントを分けて管理したいところですが、Laravelのマイグレーションではcomment()
しかないため、単純に文字列を指定しても論理名のみに反映されるようになってしまいます。
(初学者であった当初は「commentなのに論理名に反映されるんかい…」と思いました)
A5:SQLで論理名のみにではなく、コメントの列にも反映させる方法を説明していきます。
解決方法
comment()
に入れる文字列を、以下のようなルールにするだけ。
論理名:コメント
:
で区切ることにより、A5:SQLでは左部が論理名、右部がコメントとして認識されます。
一応migrationファイルの記載例も置いておきます。
yyyy_MM_dd_HHmmss_create_users_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name')->comment('名前:フルネームで姓名間にスペースなし');
$table->string('email')->comment('メールアドレス:gmailとキャリアメールのみ');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
補足
この解決方法は、あくまでLaravelのマイグレーション機能の話ではなく、:
で表示内容を仕分ける仕様を持ったA5:SQLに合わせた解決方法です。
他のDBツールでは、そもそも論理名とコメントで仕分けられていなかったり、読み取り方法が違うなど仕様が異なるかと思われますのでご容赦ください。