rake db:reset すると吹っ飛ぶコメント
Rails の便利な機能として、データベース初期定義をschema.rb に定義しておくと、rake db:reset でいつでも初期状態に戻せるというのがあります。
この便利なschema.rb ですが、reset するとテーブル定義に設定したコメントが吹っ飛ぶという残念ポイントもあります。
これを回避し、コメント機能を利用する方法がgem migration_comments の利用です。
利用手順
具体的な手順は以下。
migration_comments ジェムのインストール
# Enable comments for schema.rb, migrations gem 'migration_comments'
migration ファイルやschema.rb でコメント挿入
CREATED_AT = 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "[レコード作成日時]"' UPDATED_AT = 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "[レコード更新日時]"' ActiveRecord::Schema.define(version: 0) do create_table 'load_plans', force: :cascade do |t| t.string 'column_name' ,limit: 5 ,null: false ,comment: '[コメント]' end end
これでrake db:reset した場合でも、MySQL Workbench などでスキーマを見ると、ちゃんとコメントが残っています。