What's the best way to handle the Rails database.yml if multiple people are working on the project and database locations are different (the socket in particular).
A:
a solution would be to ignore(exclude) your database.yml from versioning.
it seems that you can put Code in your database.yml (suprise :o )
Check this out for instructions
Konstantinos
2009-09-19 23:54:26
+1
A:
You can use the svn:ignore property to prevent that file from being versioned.
Sam DeFabbia-Kane
2009-09-19 23:56:26
+11
A:
First, move
First, move database.yml
to a template file.
If you're on Git:
git mv config/database.yml config/database.yml.example
git commit -m "moved database.yml to an example file"
Or, if you're on Subversion:
svn move config/database.yml config/database.yml.example
svn ci -m "moved database.yml to an example file"
Second, ignore the .yml version.
If you're on Git:
cat > .gitignore
config/database.yml
git add .gitignore
git commit -m "ignored database.yml"
If you're on Subversion:
svn propset svn:ignore config "database.yml"
Third, install Where's your database.yml, dude?:
script/plugin install git://github.com/technicalpickles/wheres-your-database-yml-dude
That plugin alerts developers before any Rake tasks are run if they haven't created their own local version of config/database.yml
.
Fourth, set up a Capistrano deploy task:
# in RAILS_ROOT/config/deploy.rb:
after 'deploy:update_code', 'deploy:symlink_db'
namespace :deploy do
desc "Symlinks the database.yml"
task :symlink_db, :roles => :app do
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end
end
Fifth, upload the server's version of database.yml:
scp config/database.yml my_server.com:/path_to_rails_app/shared/config/database.yml
James A. Rosen
2009-09-20 02:17:52
This is great. Thank you!
phillee
2009-09-21 18:06:26
It is customary (though by no means required) to "accept" the answer you find the most helpful. I think you even get a badge for your first accept.
James A. Rosen
2009-09-21 19:15:07
my bad - voted it up but didn't see the check. done and thank you!
phillee
2009-09-25 06:46:45