[Rails] migration およびschema コマンドでコメントを挿入する

投稿者: | 2016/01/30

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 などでスキーマを見ると、ちゃんとコメントが残っています。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください