summaryrefslogtreecommitdiff
path: root/lib/capistrano/tasks/rails.rake
blob: f969ca9f1eda11ad108fdec562748f6e6a4663bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace :rails do
  desc "Remote console"
  task :console do
    on roles(:app) do
      run_interactively "bundle exec rails console #{fetch(:rails_env)}"
    end
  end

  desc "Remote dbconsole"
  task :dbconsole do
    on roles(:app) do
      run_interactively "bundle exec rails dbconsole #{fetch(:rails_env)}"
    end
  end

  def run_interactively(command, server=nil)
    server ||= find_servers_for_task(current_task).first
    exec %Q(ssh #{user}@#{server.host} -t 'cd #{current_path} && #{command}')
  end
end