X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/f30f230da23603e3c7598205219ce01e9820c470..66c8810de3626826ca758bf47b0def637254c97c:/cookbooks/postgresql/providers/database.rb diff --git a/cookbooks/postgresql/providers/database.rb b/cookbooks/postgresql/providers/database.rb index a3a7cbc07..1a8402b4b 100644 --- a/cookbooks/postgresql/providers/database.rb +++ b/cookbooks/postgresql/providers/database.rb @@ -17,6 +17,8 @@ # limitations under the License. # +use_inline_resources + def load_current_resource @pg = Chef::PostgreSQL.new(new_resource.cluster) @@ -34,17 +36,20 @@ end action :create do if !@pg.databases.include?(new_resource.database) - @pg.execute(:command => "CREATE DATABASE \"#{new_resource.database}\" OWNER \"#{new_resource.owner}\" TEMPLATE template0 ENCODING '#{new_resource.encoding}' LC_COLLATE '#{new_resource.collation}' LC_CTYPE '#{new_resource.ctype}'") - new_resource.updated_by_last_action(true) + converge_by "create database #{new_resource.database}" do + @pg.execute(:command => "CREATE DATABASE \"#{new_resource.database}\" OWNER \"#{new_resource.owner}\" TEMPLATE template0 ENCODING '#{new_resource.encoding}' LC_COLLATE '#{new_resource.collation}' LC_CTYPE '#{new_resource.ctype}'") + end elsif new_resource.owner != @current_resource.owner - @pg.execute(:command => "ALTER DATABASE \"#{new_resource.database}\" OWNER TO \"#{new_resource.owner}\"") - new_resource.updated_by_last_action(true) + converge_by "alter database #{new_resource.database}" do + @pg.execute(:command => "ALTER DATABASE \"#{new_resource.database}\" OWNER TO \"#{new_resource.owner}\"") + end end end action :drop do if @pg.databases.include?(new_resource.database) - @pg.execute(:command => "DROP DATABASE \"#{new_resource.database}\"") - new_resource.updated_by_last_action(true) + converge_by "drop database #{new_resource.database}" do + @pg.execute(:command => "DROP DATABASE \"#{new_resource.database}\"") + end end end