brainopia (owner)

Revisions

gist: 147769 Download_button fork
public
Public Clone URL: git://gist.github.com/147769.git
Embed All Files: show embed
Ruby #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace 'sync' do
  desc "Sync data from server with client"
  task :client do
    host, user = credentials
    puts `rsync -rlpgtvz --delete #{user}@#{host}:#{remote_project}/public/system/ public/system`
    
    puts 'Transfering data.yml'
    Net::SSH.start host, user do |cmd|
      cmd.exec! 'rake RAILS_ENV=production db:data:dump'
      cmd.scp.download! "#{remote_project}/db/data.yml", 'db/data.yml'
    end
    `rake db:data:load`
  end
  
  desc "Sync data from client with server"
  task :server do
    host, user = credentials
    puts `rsync -rlpgtvz --delete public/system/ #{user}@#{host}:#{remote_project}/public/system`
    
    puts 'Transfering data.yml'
    `rake db:data:dump`
    Net::SSH.start host, user do |cmd|
      cmd.scp.upload! 'db/data.yml', "#{remote_project}/db/data.yml"
      cmd.exec! 'rake RAILS_ENV=production db:data:load'
      Rake::Task[:fix_permissions].invoke
      Rake::Task['clear_cache:server'].invoke
    end
  end
end