Laravel + MySQLにて、Laravelのusersテーブルのカラムにコメントを追加したいとする。
特に変更を加えていなければusersテーブルは下記の構成になっていると思う。
mysql> show create table users;
CREATE TABLE `users` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
migrationファイルを作成し、
php artisan make:migration hogehoge --table=users
$table->型(カラム名)->comment(コメント)->change();
っと書くみたい。
例:nameに指名とコメントをつけたい場合
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('name')->comment('指名')->change();
});
}
rollback用に元のコメントを書いておくのもありかなと。。。
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->string('name')->comment('')->change();
});
}
型をいれるのがいけてない感じはするが、MySQLに直で書く場合も型は必要そうなのでそういう仕様なんだなと。。。。
直で書く場合はstringでなく、nameカラムの型に合わせてvarchar(255)指定となる。
ALTER TABLE users MODIFY name varchar(255) COMMENT '指名';