capistrano-cluster 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/capistrano/cluster/version.rb +1 -1
- data/tasks/roles/db.rake +26 -24
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5148e1233325254875139ad683e8a3b7aab6ba04
|
4
|
+
data.tar.gz: 82df6a50f92dd477ab21d97e44e9bb42cfa33942
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3d8d2fd5e96377ad2e725eacd9371f491c8736211318921d97c2d416597322636d9c0177667bddbca337bb981087fd21ebad59a98cc67fca126c4797cfd912d
|
7
|
+
data.tar.gz: 2bad09f1c9653e39cf6d166d9279726e605f5c293c2e809582fee76cc800dcadd1f806272a922ac7dae2791010c2db4e8690826cedaddafa8188159d79cac50a
|
data/tasks/roles/db.rake
CHANGED
@@ -29,35 +29,37 @@ namespace :deploy do
|
|
29
29
|
|
30
30
|
task :db do
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
unless fetch(:database,{}).empty?
|
33
|
+
db_user = fetch(:database)[:username]
|
34
|
+
db_pass = fetch(:database)[:password]
|
35
|
+
db_name = fetch(:database).fetch(:name, fetch(:application))
|
36
|
+
enconding = fetch(:database)[:enconding] || "utf-8"
|
36
37
|
|
37
|
-
|
38
|
+
on roles(:db) do
|
38
39
|
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
if capture(:psql, "-U", "postgres", "template1", "-t", "-c", "SELECT 1 FROM pg_catalog.pg_user WHERE usename = '#{db_user}'".shellescape).empty?
|
41
|
+
execute :psql, "-U", "postgres", "-c", "CREATE ROLE #{db_user} LOGIN PASSWORD '#{db_pass}';".shellescape
|
42
|
+
end
|
42
43
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
if capture(:psql, "-U", "postgres", "template1", "-t", "-c", "SELECT 1 FROM pg_catalog.pg_database WHERE datname = '#{db_name}'".shellescape).empty?
|
45
|
+
execute :psql, "-U", "postgres", "-c", "CREATE DATABASE #{db_name} ENCODING '#{enconding}' OWNER #{db_user};".shellescape
|
46
|
+
execute :psql, "-U", "postgres", "#{db_name}", "-c", "CREATE EXTENSION postgis;".shellescape
|
47
|
+
end
|
47
48
|
|
48
|
-
|
49
|
+
end
|
49
50
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
51
|
+
on roles(:app) do
|
52
|
+
defaults = {
|
53
|
+
environment: fetch(:framework_env),
|
54
|
+
hostname: primary(:db),
|
55
|
+
name: db_name,
|
56
|
+
adapter: 'postgresql',
|
57
|
+
encoding: 'utf-8',
|
58
|
+
options:{}
|
59
|
+
}
|
60
|
+
settings = defaults.merge(fetch(:database))
|
61
|
+
upload! file("database.yml", settings), "#{shared_path}/config/database.yml"
|
62
|
+
end
|
61
63
|
end
|
62
64
|
|
63
65
|
end
|