Class: RailsMysql::DumpCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_mysql/dump_command.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ DumpCommand

Returns a new instance of DumpCommand.



4
5
6
7
# File 'lib/rails_mysql/dump_command.rb', line 4

def initialize(config)
  raise RailsMysql::ConfigurationError, "mysqldump requires a database" unless config.database
  @config = config
end

Instance Method Details

#commandObject



9
10
11
12
13
14
15
16
17
# File 'lib/rails_mysql/dump_command.rb', line 9

def command
  cmd_parts = []
  cmd_parts << "-h \"#{config.host}\""     if config.host
  cmd_parts << "-P \"#{config.port}\""     if config.port
  cmd_parts << "-u \"#{config.username}\"" if config.username
  cmd_parts << "-p\"#{config.password}\""  if config.password

  "mysqldump #{cmd_parts.join(' ')} \"#{config.database}\" | gzip > #{filename}"
end

#filenameObject



19
20
21
# File 'lib/rails_mysql/dump_command.rb', line 19

def filename
  "db/#{config.database}-#{Time.now.utc.iso8601}.sql.gz"
end