Module: DbClone

Defined in:
lib/db-clone.rb,
lib/db-clone/engine.rb,
lib/db-clone/version.rb,
lib/db-clone/cmd_builder.rb,
lib/db-clone/db_selections.rb,
app/helpers/db-clone/application_helper.rb,
app/controllers/db_sync/application_controller.rb

Defined Under Namespace

Modules: ApplicationHelper Classes: ApplicationController, CmdBuilder, DbSelections, Engine

Constant Summary collapse

VERSION =
'1.0.2'

Class Method Summary collapse

Class Method Details

.clone!(**opts) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/db-clone.rb', line 9

def self.clone!( **opts )
  DbClone.config ||= {}
  DbClone.config[:ignore_tables] ||= []
  DbClone.config[:default_source] ||= 'production'
  DbClone.config[:default_destination] ||= 'development'

  ds = DbSelections.new Rails.root.join('config', 'database.yml')
  src_dest = if opts[:manual]
    [:source_prompt, :source_get, :dest_prompt, :dest_get].each{|m| ds.send(m)}
    ds.selections
  else
    ds.selections( use_defaults: true )
  end

  cb = CmdBuilder.new src_dest
  puts "\n  Executing: #{cb.get_cmd.light_blue}\n\n"
  cb.exec!
end