Hi, here's how I solved the same problem for postgresql: https://github.com/bruno-/capistrano-postgresql/blob/master/lib/capistrano/postgresql/psql_helpers.rb#L6-16
As you can see `test` is used (in psql helper) to detect success or failure. Let me know if you need more help around this. I spent quite some time debugging and getting this to work for postgres (and I think it's still not perfect). On Friday, April 4, 2014 9:21:18 PM UTC+2, Vell wrote: > > Versions: > > - Ruby 2.0 > - Capistrano 3.1 > - Rake / Rails / etc 4.0.4 > > Platform: > > - Working on.... mac os x > - Deploying to... centos 6.5 > > Logs: > > - Please past logs (as completely as possible to a 3rd party pasting > service such as pastie.org) > > Files: > > - Capfile > - deploy.rb > - Stage files (production.rb, staging.rb) > > Hello all, > > I am attempting to make it so that capistrano creates a db if it doesn't > exist. Right now I am able to run the command to check for the db but I am > not able to capture the "unknown database" message that comes out from > MYSQL. > > I'm sure there is a way to do it, I just haven't figured it out the right > way to do it. The code I am starting with is below: > > desc "check if db exists on remote server. If not create it." > task :check_db do > on roles(:app) do |host| > puts "-"*100 > puts capture("mysql -usomeuser -psomepassword > #{fetch(:application)}_#{fetch(:rails_env)}") > end > end > > I have also tried: > > puts %x("mysql -usomeuser -psomepassword > #{fetch(:application)}_#{fetch(:rails_env)}") > > The response I get is: > > DEBUG [242e1da5] Command: mysql -usomeuser -psomepassword > app_name_dev_server > DEBUG [242e1da5] ERROR > DEBUG [242e1da5] 1049 (42000) > DEBUG [242e1da5] : Unknown database 'online_community_dev_server' > > > That last line, or even the one before it, I can't seem to catch it to use > in a condition statement. > > > Any thoughts would be greatly appreciated. > -- You received this message because you are subscribed to the Google Groups "Capistrano" group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/e6f569db-5514-49d2-b5d2-9ae279817dc5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.