Sha256: 6640fd1a66c5fb9b116fd542150ecc969499c20ae71eb508157105f759ca7d8d

Contents?: true

Size: 1.06 KB

Versions: 17

Compression:

Stored size: 1.06 KB

Contents

SnapshotArchive.configure do |config|
  config.register_store(
    "mysql",
    SnapshotArchive::Stores::Mysql,
    active_by_default: false
  )

  config.register_store("mysql_rails") do |store|
    store.backup do |dir, _args|
      existing_databases = (
        config
          .shell
          .run("mysql --execute 'show databases' --silent --skip-column-names")
      )

      db_names = (
        config
          .shell
          .run("sh -c 'cd $(git rev-parse --show-toplevel) && git grep database:.*_development *database.yml || exit 0'")
          .map { |line| line.match(/database:\s+(.*_development)\s*$/) }
          .compact
          .map { |match| match[1] }
          .select { |db| existing_databases.include?(db) }
          .reject { |db| db.match(/_tmp_/)}
      )

      next if db_names.empty?

      SnapshotArchive::Cfg.bind_backup("mysql", db_names).backup(dir)
    end

    store.restore do |metadata|
      SnapshotArchive::Cfg.store("mysql").restore(metadata)
    end
  end

  config.storage_path = File.join(ENV["HOME"], ".snapshot_archive")
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
snapshot_archive-0.20.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.19.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.18.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.17.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.16.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.15.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.14.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.13.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.12.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.11.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.10.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.9.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.8.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.7.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.6.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.5.0 lib/snapshot_archive/default_configuration.rb
snapshot_archive-0.3.0 lib/snapshot_archive/default_configuration.rb