class BranchingCleaner::LeftoversCleaner

Public Instance Methods

all_databases_from_server() click to toggle source
# File lib/branching_cleaner/leftovers_cleaner.rb, line 25
def all_databases_from_server
  connection.query('SELECT datname FROM pg_catalog.pg_database').flatten
end
all_project_databases(env) click to toggle source
# File lib/branching_cleaner/leftovers_cleaner.rb, line 21
def all_project_databases(env)
  all_databases_from_server.select { |database| database.match(/#{db_core_name}#{env}_/)}
end
databases_except_master(env) click to toggle source
# File lib/branching_cleaner/leftovers_cleaner.rb, line 17
def databases_except_master(env)
  all_project_databases(env) - ["#{db_core_name}#{env}_master"]
end
databases_to_remove() click to toggle source
# File lib/branching_cleaner/leftovers_cleaner.rb, line 13
def databases_to_remove
  databases_except_master('test') + databases_except_master('development')
end
run() click to toggle source
# File lib/branching_cleaner/leftovers_cleaner.rb, line 5
def run
  GIT::switch_to_master_branch
  databases_to_remove.each do |database|
    puts "* Removing '#{database}'"
    connection.drop_database(database)
  end
end