読者です 読者をやめる 読者になる 読者になる

rake db:migrateをRidgepoleで置き換える

ちょっとRidgepole試してみようかなと思って使いはじめた。rails書いていると他の人がmigrationふつうにしようとしてしまったりするだろうから、rake db:migrateのデフォルトの動作を無効にして、ridgepoleを動作させたい。

lib/tasks/ridgepole.rakeとかで、

# overwrite db:migrate or db:dump
task 'db:migrate' => :environment do
  ENV['RAILS_ENV'] ||= "development"
  sh "bin/ridgepole -E#{ENV['RAILS_ENV']} -c config/database.yml --apply"
  sh "bin/ridgepole -E#{ENV['RAILS_ENV']} -c config/database.yml --export -o Schemafile"
end

task 'db:dump' => :environment do
  ENV['RAILS_ENV'] ||= "development"
  sh "bin/ridgepole -E#{ENV['RAILS_ENV']} -c config/database.yml --export -o Schemafile"
end

applyした直後でexportするべきかはどうかなーと思ったりしつつ、db:dumpいちいち打つのがダルいことが多いのかな。ということでやることにした。