capistrano3-postgres 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/capistrano3/postgres/version.rb +1 -1
- data/lib/capistrano3/tasks/postgres.rb +15 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cadbc1ab83d70005145bf3b402d00603b09ec44
|
4
|
+
data.tar.gz: e93cb5ec0d64c3a76ce6d0f62ac8651f0275e85b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d68b4d312738cb1c84e1789b4f7c267f744434789714eebb93324ee5660d469a42eac0ed462743186b8c1060f1ff75e4c5aea7d499345ee4bd04121ac2ed159
|
7
|
+
data.tar.gz: f0a7127c3de88976231a06800a0c61f73608cdecf1ba421648553dbf6b13aab680036d06675148a13a6957b68ab2e3e3c95662a8b7901985e91c792fe70ff004
|
@@ -25,7 +25,7 @@ namespace :postgres do
|
|
25
25
|
set :postgres_remote_sqlc_file_path, "#{shared_path}/#{fetch(:postgres_backup_dir)}/#{file_name}"
|
26
26
|
end
|
27
27
|
|
28
|
-
execute "PGPASSWORD=#{config['password']} pg_dump
|
28
|
+
execute "PGPASSWORD=#{config['password']} pg_dump #{user_option(config)} -h #{config['host']} -Fc --file=#{fetch(:postgres_remote_sqlc_file_path)} #{config['database']}"
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -64,7 +64,7 @@ namespace :postgres do
|
|
64
64
|
begin
|
65
65
|
pgpass_path = File.join(Dir.pwd, '.pgpass')
|
66
66
|
File.open(pgpass_path, 'w+', 0600) { |file| file.write("*:*:*:#{config['username'] || config['user']}:#{config['password']}") }
|
67
|
-
execute "PGPASSFILE=#{pgpass_path} pg_restore -c
|
67
|
+
execute "PGPASSFILE=#{pgpass_path} pg_restore -c #{user_option(config)} --no-owner -h #{config['host']} -p #{config['port'] || 5432 } -d #{fetch(:database_name)} #{file_path}"
|
68
68
|
rescue SSHKit::Command::Failed => e
|
69
69
|
warn e.inspect
|
70
70
|
info 'Import performed successfully!'
|
@@ -102,7 +102,7 @@ namespace :postgres do
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
-
desc '
|
105
|
+
desc 'Replicate database locally'
|
106
106
|
task :replicate do
|
107
107
|
grab_local_database_config
|
108
108
|
config = fetch(:postgres_local_database_config)
|
@@ -113,13 +113,21 @@ namespace :postgres do
|
|
113
113
|
invoke("postgres:backup:cleanup") if fetch(:postgres_keep_local_dumps) > 0
|
114
114
|
end
|
115
115
|
|
116
|
+
def user_option(config)
|
117
|
+
if config['user'] || config['username']
|
118
|
+
"-U #{config['user'] || config['username']}"
|
119
|
+
else
|
120
|
+
'' # assume ident auth is being used
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
116
124
|
# Grabs local database config before importing dump
|
117
125
|
def grab_local_database_config
|
118
126
|
return if fetch(:postgres_local_database_config)
|
119
127
|
on roles(fetch(:postgres_role)) do |role|
|
120
128
|
run_locally do
|
121
129
|
env = 'development'
|
122
|
-
yaml_content = capture "cat config/database.yml"
|
130
|
+
yaml_content = ERB.new(capture "cat config/database.yml").result
|
123
131
|
set :postgres_local_database_config, database_config_defaults.merge(YAML::load(yaml_content)[env])
|
124
132
|
end
|
125
133
|
end
|
@@ -130,13 +138,14 @@ namespace :postgres do
|
|
130
138
|
return if fetch(:postgres_remote_database_config)
|
131
139
|
on roles(fetch(:postgres_role)) do |role|
|
132
140
|
env = fetch(:postgres_env).to_s.downcase
|
133
|
-
|
141
|
+
filename = "#{deploy_to}/current/config/database.yml"
|
142
|
+
yaml_content = capture "ruby -e \"require 'erb'; puts ERB.new(File.read('#{filename}')).result\""
|
134
143
|
set :postgres_remote_database_config, database_config_defaults.merge(YAML::load(yaml_content)[env])
|
135
144
|
end
|
136
145
|
end
|
137
146
|
|
138
147
|
def database_config_defaults
|
139
|
-
{ 'host' => 'localhost'
|
148
|
+
{ 'host' => 'localhost' }
|
140
149
|
end
|
141
150
|
|
142
151
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano3-postgres
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Krasynskyi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|