前提
- masterの取り込みとかでstructure.sqlがしょっちゅうコンフリクトするよ!
- マイグレーションだけを行うデータベースを作って、そこでrake db:migrateすれば
きれいに解消されるよ! - だけど毎回database.ymlを書き換えるのだるいよ!
なので
以下みたいに記述し切り替えできるようにした
database.yml
development:
adapter: postgresql
encoding: utf8
database: <%=
if ENV['M']
'migration' # コンフリクトの解消の為のDB
else
'development'
end.tapp { |db| "connecting #{db}" } # どこに接続してるかを出力
%>
pool: 5
username: username
password:
structure.sqlのコンフリクト解消は以下で
$ M=1 bundle exec rake db:migrate
ちなみに、まっさらなDBの状態から始めたい場合は以下で
$ M=1 bundle exec rake db:migrate:reset