class Posgra::CLI::Database
Constants
- DEFAULT_FILENAME
Public Instance Methods
apply(file)
click to toggle source
# File lib/posgra/cli/database.rb, line 14 def apply(file) check_fileanem(file) updated = client.apply_databases(file) unless updated Posgra::Logger.instance.info('No change'.intense_blue) end end
export(file = nil)
click to toggle source
# File lib/posgra/cli/database.rb, line 25 def export(file = nil) check_fileanem(file) dsl = client.export_databases if options[:split] file = DEFAULT_FILENAME unless file log(:info, 'Export Database Grants') requires = [] dsl.each do |user, content| user = user.gsub(/\s+/, '_') user = '_' if user.empty? grant_file = "#{user}.rb" requires << grant_file log(:info, " write `#{grant_file}`") open(grant_file, 'wb') do |f| f.puts Posgra::CLI::MAGIC_COMMENT f.puts content end end log(:info, " write `#{file}`") open(file, 'wb') do |f| f.puts Posgra::CLI::MAGIC_COMMENT requires.each do |grant_file| f.puts "require '#{File.basename grant_file}'" end end else if file.nil? or file == '-' puts dsl else log(:info, "Export Database Grants to `#{file}`") open(file, 'wb') do |f| f.puts Posgra::CLI::MAGIC_COMMENT f.puts dsl end end end end