Sha256: 93619875aa55c2902dd714fc97c016422ac9b75edff7ff325528bff6ffbcf80e

Contents?: true

Size: 1.29 KB

Versions: 45

Compression:

Stored size: 1.29 KB

Contents

# encoding: utf-8

module Backup
  module Database
    class SQLite < Base
      class Error < Backup::Error; end

      ##
      # Path to the sqlite3 file
      attr_accessor :path

      ##
      # Path to sqlite utility (optional)
      attr_accessor :sqlitedump_utility

      ##
      # Creates a new instance of the SQLite adapter object
      def initialize(model, database_id = nil, &block)
        super
        instance_eval(&block) if block_given?

        @sqlitedump_utility ||= utility(:sqlitedump)
      end

      ##
      # Performs the sqlitedump command and outputs the
      # data to the specified path based on the 'trigger'
      def perform!
        super

        dump = "echo '.dump' | #{ sqlitedump_utility } #{ path }"

        pipeline = Pipeline.new
        dump_ext = 'sql'

        pipeline << dump
        if model.compressor
          model.compressor.compress_with do |command, ext|
            pipeline << command
            dump_ext << ext
          end
        end

        pipeline << "cat > '#{ File.join( dump_path , dump_filename) }.#{ dump_ext }'"

        pipeline.run

        if pipeline.success?
          log!(:finished)
        else
          raise Error,
            "#{ database_name } Dump Failed!\n" + pipeline.error_messages
        end
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 6 rubygems

Version Path
backup-ssh-4.4.5 lib/backup/database/sqlite.rb
backup-remote-0.0.19 lib/backup/database/sqlite.rb
cm-backup-1.0.0 lib/backup/database/sqlite.rb
backup-ssh-4.4.4 lib/backup/database/sqlite.rb
backup-ssh-4.4.3 lib/backup/database/sqlite.rb
backup-4.4.1 lib/backup/database/sqlite.rb
backup-remote-0.0.18 lib/backup/database/sqlite.rb
backup-remote-0.0.17 lib/backup/database/sqlite.rb
backup-remote-0.0.16 lib/backup/database/sqlite.rb
backup-remote-0.0.15 lib/backup/database/sqlite.rb
backup-ssh-4.4.2 lib/backup/database/sqlite.rb
backup-ssh-4.4.1 lib/backup/database/sqlite.rb
backup-remote-0.0.14 lib/backup/database/sqlite.rb
backup-remote-0.0.13 lib/backup/database/sqlite.rb
backup-remote-0.0.12 lib/backup/database/sqlite.rb
backup-remote-0.0.11 lib/backup/database/sqlite.rb
backup-ssh-4.4.0 lib/backup/database/sqlite.rb
backup-remote-0.0.10 lib/backup/database/sqlite.rb
backup-remote-0.0.9 lib/backup/database/sqlite.rb
backup-remote-0.0.8 lib/backup/database/sqlite.rb