Sha256: 062d9e7cc6686ebfb47d063e44d1bb6d55d9edfebbfbae8cceae8ee7304e3c56

Contents?: true

Size: 1.57 KB

Versions: 4

Compression:

Stored size: 1.57 KB

Contents

module PryHelper
  class Mysqldump

    def initialize(options = nil)
      options ||= App.connect_options
      @options = options
      if options[:socket]
        port_or_sock = "-S #{options[:socket]}"
      else
        port_or_sock = "-P #{options[:port] || 3306}"
      end
      @base_dump_cmd = "mysqldump -u %{user} -h %{host} %{port_or_sock} %{password} --skip-lock-tables " % {
        user: options[:username],
        host: options[:host],
        password: options[:password].presence.try { |e| "-p#{e}" } || '',
        port_or_sock: port_or_sock
      }
    end

    def dump_table(filename, table_name, no_create_table = false)
      system dump_table_cmd(table_name, no_create_table) + " > #{filename}"
    end

    def dump_database(filename, no_create_db = false)
      system dump_database_cmd(no_create_db) + " > #{filename}"
    end

    def dump_table_cmd(table_name, no_create_table = false)
      @base_dump_cmd + " " + if no_create_table
                               "--no-create-info #{@options[:database]} #{table_name}"
                             else
                               "--add-drop-table #{@options[:database]} #{table_name}"
                             end
    end

    def dump_database_cmd(no_create_db = false)
      @base_dump_cmd + " " + if no_create_db
                               "--no-create-db --add-drop-database --databases #{@options[:database]}"
                             else
                               "--add-drop-database --add-drop-table --databases #{@options[:database]}"
                             end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pry-helper-0.1.3 lib/pry-helper/mysqldump.rb
pry-helper-0.1.2 lib/pry-helper/mysqldump.rb
pry-helper-0.1.1 lib/pry-helper/mysqldump.rb
pry-helper-0.1.0 lib/pry-helper/mysqldump.rb