Sha256: 08052f30829ff5287b707fd5827fecc59e91b59a452e652556bdd6df98743359
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 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? Cfg.bind_backup("mysql", db_names).backup(dir) end store.restore do |metadata| Cfg.store("mysql").restore(metadata) end end config.storage_path = File.join(ENV["HOME"], ".snapshot_archive") end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
snapshot_archive-0.2.0 | lib/snapshot_archive/default_configuration.rb |
snapshot_archive-0.1.0 | lib/snapshot_archive/default_configuration.rb |