Skip to content

Instantly share code, notes, and snippets.

@zudochkin
Forked from nicolai86/sync-postgres-mina.rb
Created November 23, 2015 14:27
Show Gist options
  • Select an option

  • Save zudochkin/1ad1ce8d589efdba3d2f to your computer and use it in GitHub Desktop.

Select an option

Save zudochkin/1ad1ce8d589efdba3d2f to your computer and use it in GitHub Desktop.

Revisions

  1. @nicolai86 nicolai86 revised this gist Oct 24, 2013. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions sync-postgres-mina.rb
    Original file line number Diff line number Diff line change
    @@ -7,12 +7,14 @@
    namespace :sync do
    task :db do
    isolate do
    invoke :environment

    queue RYAML
    queue "USERNAME=$(ryaml ./shared/config/database.yml #{rails_env} username)"
    queue "PASSWORD=$(ryaml ./shared/config/database.yml #{rails_env} password)"
    queue "DATABASE=$(ryaml ./shared/config/database.yml #{rails_env} database)"
    queue "PGPASSWORD=$PASSWORD pg_dump -U $USERNAME $DATABASE -c -f dump.sql"
    queue "gzip -f dump.sql"
    queue "USERNAME=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} username)"
    queue "PASSWORD=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} password)"
    queue "DATABASE=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} database)"
    queue "PGPASSWORD=$PASSWORD pg_dump -U $USERNAME $DATABASE -c -f #{deploy_to}/dump.sql"
    queue "gzip -f #{deploy_to}/dump.sql"

    mina_cleanup!
    end
  2. @nicolai86 nicolai86 created this gist May 6, 2013.
    25 changes: 25 additions & 0 deletions sync-postgres-mina.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    RYAML = <<-BASH
    function ryaml {
    ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' "$@"
    };
    BASH

    namespace :sync do
    task :db do
    isolate do
    queue RYAML
    queue "USERNAME=$(ryaml ./shared/config/database.yml #{rails_env} username)"
    queue "PASSWORD=$(ryaml ./shared/config/database.yml #{rails_env} password)"
    queue "DATABASE=$(ryaml ./shared/config/database.yml #{rails_env} database)"
    queue "PGPASSWORD=$PASSWORD pg_dump -U $USERNAME $DATABASE -c -f dump.sql"
    queue "gzip -f dump.sql"

    mina_cleanup!
    end

    %x[scp #{user}@#{domain}:#{deploy_to}/dump.sql.gz .]
    %x[gunzip -f dump.sql.gz]
    %x[#{RYAML} psql -d $(ryaml config/database.yml development database) -f dump.sql]
    %x[rm dump.sql]
    end
    end