annotate_modelsをちょっと改造
annotate_model便利なんだけど、変更されてないテーブルのモデルとかフィクスチャとかのヘッダも書き換えるので、うっかり実行するとものすごい勢いで他の人の変更と衝突して辛い。ので、無理やり改造。
vendor/plugins/annotate_models/lib/annotate_models.rb
def self.annotate_one_file(file_name, info_block) if File.exist?(file_name) content = File.read(file_name) old_info_block = content =~ /^# #{PREFIX}.*?\n(#.*\n)*\n/ ? $& : '' unless info_block.sub(/version: \d+/, '') == old_info_block.sub(/version: \d+/, '') puts "Execute annotating" # Remove old schema info content.sub!(/^# #{PREFIX}.*?\n(#.*\n)*\n/, '') # Write it back File.open(file_name, "w") { |f| f.puts info_block + content } end end end
スキーマが変更されてなければファイルも書き換わらないはず。ただ、ヘッダコメント内のSchema versionの値は古いままになるけど。