master
1namespace :rails do
2 desc "Remote console"
3 task :console do
4 on roles(:app) do
5 run_interactively "bundle exec rails console #{fetch(:rails_env)}"
6 end
7 end
8
9 desc "Remote dbconsole"
10 task :dbconsole do
11 on roles(:app) do
12 run_interactively "bundle exec rails dbconsole #{fetch(:rails_env)}"
13 end
14 end
15
16 def run_interactively(command, server=nil)
17 server ||= find_servers_for_task(current_task).first
18 exec %Q(ssh #{user}@#{server.host} -t 'cd #{current_path} && #{command}')
19 end
20end