diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-04-05 19:01:19 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-04-05 19:01:19 +0300 |
commit | c33d5e16fe5f5dde4f270adaf7fb6fe5b9552018 (patch) | |
tree | 816c735dfda1eabb9c2eae02595e5203d5baed69 /lib/backup.rb | |
parent | 362d82d10e217231cd607e932a64b3e9b48f67c8 (diff) | |
download | gitlab-ce-c33d5e16fe5f5dde4f270adaf7fb6fe5b9552018.tar.gz |
refactor backup/restore
Diffstat (limited to 'lib/backup.rb')
-rw-r--r-- | lib/backup.rb | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/lib/backup.rb b/lib/backup.rb deleted file mode 100644 index ad80ab1c7f7..00000000000 --- a/lib/backup.rb +++ /dev/null @@ -1,56 +0,0 @@ -require 'yaml' - -class Backup - attr_reader :config, :db_dir - - def initialize - @config = YAML.load_file(File.join(Rails.root,'config','database.yml'))[Rails.env] - @db_dir = File.join(Gitlab.config.backup.path, 'db') - FileUtils.mkdir_p(@db_dir) unless Dir.exists?(@db_dir) - end - - def backup_db - case config["adapter"] - when /^mysql/ then - system("mysqldump #{mysql_args} #{config['database']} > #{db_file_name}") - when "postgresql" then - pg_env - system("pg_dump #{config['database']} > #{db_file_name}") - end - end - - def restore_db - case config["adapter"] - when /^mysql/ then - system("mysql #{mysql_args} #{config['database']} < #{db_file_name}") - when "postgresql" then - pg_env - system("pg_restore #{config['database']} #{db_file_name}") - end - end - - protected - - def db_file_name - File.join(db_dir, 'database.sql') - end - - def mysql_args - args = { - 'host' => '--host', - 'port' => '--port', - 'socket' => '--socket', - 'username' => '--user', - 'encoding' => '--default-character-set', - 'password' => '--password' - } - args.map { |opt, arg| "#{arg}=#{config[opt]}" if config[opt] }.compact.join(' ') - end - - def pg_env - ENV['PGUSER'] = config["username"] if config["username"] - ENV['PGHOST'] = config["host"] if config["host"] - ENV['PGPORT'] = config["port"].to_s if config["port"] - ENV['PGPASSWORD'] = config["password"].to_s if config["password"] - end -end |