Sha256: a443cc54fc9b31f2446711bb6d16fe2b7b7577716b96ecdba9ebb6b2727cc385

Contents?: true

Size: 791 Bytes

Versions: 8

Compression:

Stored size: 791 Bytes

Contents

module WebTranslateIt

  module Safe

    class Mysqldump < Source

      def command
        "mysqldump --defaults-extra-file=#{mysql_password_file} #{config[:options]} #{mysql_skip_tables} #{@id}"
      end

      def extension = '.sql'

      protected

      def mysql_password_file
        WebTranslateIt::Safe::TmpFile.create('mysqldump') do |file|
          file.puts '[mysqldump]'
          %w[user password socket host port].each do |k|
            v = config[k]
            # values are quoted if needed
            file.puts "#{k} = #{v.inspect}" if v
          end
        end
      end

      def mysql_skip_tables
        return unless skip_tables = config[:skip_tables]

        [*skip_tables].map { |t| "--ignore-table=#{@id}.#{t}" }.join(' ')
      end

    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
webtranslateit-safe-0.4.11 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.10 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.9 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.8 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.7 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.6 lib/web_translate_it/safe/mysqldump.rb
webtranslateit-safe-0.4.5 lib/webtranslateit/safe/mysqldump.rb
webtranslateit-safe-0.4.4 lib/webtranslateit/safe/mysqldump.rb