Um banco de dados dev separado por branch git

Ramificações do Git permitem que você desenvolva recursos separados da base de código principal. No entanto, como o banco de dados ainda está em comum entre os ramos principal e de recurso, quaisquer alterações do banco de dados que você fizer dentro dos ramos de recurso também afetarão o ramo principal.

Adicionar algum erb ao seu arquivo database.yml permitirá que você trabalhe em um banco de dados que tem o nome do branch git no qual você está trabalhando atualmente. Portanto, agora seu código está isolado dos branches principais e também o banco de dados.

Em seu Gemfile:

group :test, :development do
gem
'git'
end

Dentro de config / database.yml:

development: ...
adapter
: ...
database
: appname_development_<%= Git.open('.').current_branch %>
min_messages
: ...
host
: ...
pool
: ...
timeout
: ...
host_names
: ...