X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/faf8ae12e85eabb050b0f5eceb2cb67ad1de5261..05a0ff951fd8a83036b6b7d2e0e6762c7ba61d63:/cookbooks/postgresql/providers/database.rb?ds=sidebyside diff --git a/cookbooks/postgresql/providers/database.rb b/cookbooks/postgresql/providers/database.rb index eee79031d..a63197afe 100644 --- a/cookbooks/postgresql/providers/database.rb +++ b/cookbooks/postgresql/providers/database.rb @@ -26,17 +26,19 @@ def load_current_resource if pg_database = @pg.databases[@current_resource.database] @current_resource.owner(pg_database[:owner]) @current_resource.encoding(pg_database[:encoding]) + @current_resource.encoding(pg_database[:collate]) + @current_resource.encoding(pg_database[:ctype]) end @current_resource end action :create do unless @pg.databases.include?(new_resource.database) - @pg.execute(:command => "CREATE DATABASE #{new_resource.database} OWNER #{new_resource.owner} ENCODING '#{new_resource.encoding}'") + @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 - @pg.execute(:command => "ALTER DATABASE #{new_resource.database} OWNER TO #{new_resource.owner}") + @pg.execute(:command => "ALTER DATABASE \"#{new_resource.database}\" OWNER TO \"#{new_resource.owner}\"") new_resource.updated_by_last_action(true) end end @@ -44,7 +46,7 @@ end action :drop do if @pg.databases.include?(new_resource.database) - @pg.execute(:command => "DROP DATABASE #{new_resource.database}") + @pg.execute(:command => "DROP DATABASE \"#{new_resource.database}\"") new_resource.updated_by_last_action(true) end end