Module: DTR::Agent::RailsExt::DatabaseInitializer

Included in:
WorkingEnvExt
Defined in:
lib/dtr/agent/rails_ext.rb

Instance Method Summary collapse

Instance Method Details

#preparing_database_commandObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/dtr/agent/rails_ext.rb', line 19

def preparing_database_command
  dtr_database_config_exists = File.exist?('config/database.yml.dtr')
  default_database_config_exists = File.exist?('config/database.yml')

  if !dtr_database_config_exists && !default_database_config_exists
    DTR.info("No config/database.yml.dtr and config/database.yml exists, bypass database initialization.")
    return
  end

  if dtr_database_config_exists
    DTR.info("Found config/database.yml.dtr, use it as database configuration")
    FileUtils.cp('config/database.yml.dtr', 'config/database.yml')
  end
  DTR.info("Clean databases")
  Cmd.execute("rake --trace db:drop DTR_RUNNER_NAME=#{ENV['DTR_RUNNER_NAME']}", :error_output_log_level => :debug)

  # Counldn't add --trace here, for Test::Unit detected --trace as a invalid option, don't know why
  "rake db:create db:migrate db:test:prepare DTR_RUNNER_NAME=#{ENV['DTR_RUNNER_NAME']}"
end