Tout d'abord, déplacez database.yml
dans un fichier modèle.
Si vous êtes sur Git :
git mv config/database.yml config/database.yml.example
git commit -m "moved database.yml to an example file"
Ou, si vous êtes sur Subversion :
svn move config/database.yml config/database.yml.example
svn ci -m "moved database.yml to an example file"
Deuxièmement, ignorez la version .yml.
Si vous êtes sur Git :
cat > .gitignore
config/database.yml
git add .gitignore
git commit -m "ignored database.yml"
Si vous êtes sur Subversion :
svn propset svn:ignore config "database.yml"
Troisièmement, installez Où est votre database.yml, mec ? :
script/plugin install git://github.com/technicalpickles/wheres-your-database-yml-dude
Ce plugin alerte les développeurs avant l'exécution de toute tâche Rake s'ils n'ont pas créé leur propre version locale de config/database.yml
.
Quatrièmement, configurez une tâche de déploiement Capistrano :
# 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
Cinquièmement, chargez la version du serveur de database.yml :
scp config/database.yml [email protected]_server.com:/path_to_rails_app/shared/config/database.yml