]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/postgresql/providers/database.rb
Update chef client to 12.21.26
[chef.git] / cookbooks / postgresql / providers / database.rb
index 31704314be414ecd1f12e77a7ce27e97a6221e60..1a8402b4b2bf7cf073ae95ea999158505a093479 100644 (file)
@@ -17,6 +17,8 @@
 # limitations under the License.
 #
 
+use_inline_resources
+
 def load_current_resource
   @pg = Chef::PostgreSQL.new(new_resource.cluster)
 
@@ -34,19 +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)
-  else
-    if new_resource.owner != @current_resource.owner
+    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
+    converge_by "alter database #{new_resource.database}" do
       @pg.execute(:command => "ALTER DATABASE \"#{new_resource.database}\" OWNER TO \"#{new_resource.owner}\"")
-      new_resource.updated_by_last_action(true)
     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