Sha256: 37bb68a3143d0f5e8481184eb216f24ace03fe59ca0f09a7f17199b7cef5369b
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true require "uff_db_loader/version" require "configuration" module UffDbLoader require "railtie" def self.config @configuration ||= Configuration.new end def self.reset @configuration = Configuration.new end def self.configure yield(config) end def self.dump_from(environment) FileUtils.mkdir_p(config.dumps_directory) puts "⬇️ Creating dump ..." target = File.join(config.dumps_directory, Time.now.strftime("#{config.app_name}_#{environment}_%Y_%m_%d_%H_%M_%S.#{config.database_system.dump_extension}")) command_successful = system(dump_command(environment, target)) raise "Command did not run succesful: #{dump_command(environment, target)}" unless command_successful puts "✅ Succesfully dumped to #{target}" target end def self.dump_command(environment, target) config .database_system .dump_command_template .gsub("%environment%", environment) .gsub("%host%", config.ssh_host) .gsub("%user%", config.ssh_user) .gsub("%database%", config.database) .gsub("%target%", target) .gsub("%app_name%", config.app_name) end def self.ensure_valid_environment!(environment) unless config.environments.include?(environment) raise ForbiddenEnvironmentError, "Invalid environment: #{environment}." end end def self.restore_command(database_name, result_file_path) config.database_system.restore_command(database_name, result_file_path) end class ForbiddenEnvironmentError < StandardError; end class UnknownDatabaseSystem < StandardError; end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
uff_db_loader-1.0.1 | lib/uff_db_loader.rb |
uff_db_loader-1.0.0 | lib/uff_db_loader.rb |