magic_recipes 0.0.24 → 0.0.25
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.
- data/lib/magic_recipes/postgresql.rb +10 -3
- metadata +1 -1
@@ -7,7 +7,7 @@ module MagicRecipes
|
|
7
7
|
# [Tasks:]
|
8
8
|
# :install # => Install the latest stable release of PostgreSQL.
|
9
9
|
#
|
10
|
-
# :create_database # => Create
|
10
|
+
# :create_database # => Create database and user for this application.
|
11
11
|
#
|
12
12
|
# :setup # => Generate the database.yml configuration file.
|
13
13
|
#
|
@@ -21,6 +21,8 @@ module MagicRecipes
|
|
21
21
|
#
|
22
22
|
# :drop_user # => Drop the postgres-user for this application.
|
23
23
|
#
|
24
|
+
# :create_db # => Create only a database for this application.
|
25
|
+
#
|
24
26
|
# :drop_database # => Drop the postgres-database for this application.
|
25
27
|
#
|
26
28
|
# [Callbacks:]
|
@@ -50,12 +52,13 @@ module MagicRecipes
|
|
50
52
|
run "#{sudo} add-apt-repository ppa:pitti/postgresql"
|
51
53
|
run "#{sudo} apt-get -y update"
|
52
54
|
run "#{sudo} apt-get -y install postgresql libpq-dev"
|
55
|
+
# add constrib for hstore extension
|
56
|
+
run "#{sudo} apt-get -y install postgresql-contrib-9.1"
|
53
57
|
end
|
54
58
|
after "deploy:install", "postgresql:install"
|
55
59
|
|
56
60
|
desc "Create a database and user for this application."
|
57
61
|
task :create_database, roles: :db, only: {primary: true} do
|
58
|
-
#run %Q{#{sudo} -u postgres psql -c "create user #{postgresql_user} with password '#{postgresql_password}';"}
|
59
62
|
# make a superuser .. to be able to install extensions like hstore
|
60
63
|
run %Q{#{sudo} -u postgres psql -c "CREATE ROLE #{postgresql_user} WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD '#{postgresql_password}';"}
|
61
64
|
#run %Q{#{sudo} -u postgres psql -c "create database #{postgresql_database} owner #{postgresql_user};"}
|
@@ -75,6 +78,11 @@ module MagicRecipes
|
|
75
78
|
run %Q{#{sudo} -u postgres psql -c "DROP ROLE #{postgresql_user};"}
|
76
79
|
end
|
77
80
|
|
81
|
+
desc "Create only a database for this application."
|
82
|
+
task :create_db, roles: :db, only: {primary: true} do
|
83
|
+
run %Q{#{sudo} -u postgres psql -c "CREATE DATABASE #{postgresql_database} WITH OWNER #{postgresql_user};"}
|
84
|
+
end
|
85
|
+
|
78
86
|
desc "Drop the postgres-database for this application."
|
79
87
|
task :drop_database, roles: :db, only: {primary: true} do
|
80
88
|
# make a superuser .. to be able to install extensions like hstore
|
@@ -97,7 +105,6 @@ module MagicRecipes
|
|
97
105
|
# http://stackoverflow.com/a/12939218/1470996
|
98
106
|
desc 'kill pgsql users so database can be dropped'
|
99
107
|
task :kill_postgres_connections do
|
100
|
-
# run "echo 'SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname=\'#{postgresql_database}\';' | psql -U postgres"
|
101
108
|
run %Q{#{sudo} -u postgres psql -c "SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname='#{postgresql_database}';"}
|
102
109
|
end
|
103
110
|
|