module WCC module RakeHelpers def self.db_config db_config_file_data[ENV['RAILS_ENV'] || 'development'] || {} end def self.db_cmd_with_password(cmd, pw) `#{db_cmd_with_password_string(cmd, pw)}` end def self.db_cmd_with_password_string(cmd, pw) %{PGPASSWORD="#{pw}" #{cmd.join(" ")}} end def self.postgresql? db_config["adapter"] == "postgresql" end def self.mysql? db_config["adapter"] == "mysql" end def self.db_config_file_data if defined?(ActiveRecord::Base) && ActiveRecord::Base.configurations.present? ActiveRecord::Base.configurations else @yaml_file ||= YAML.load( ERB.new(File.read("#{app_dir}/config/database.yml" )).result ) end rescue SystemCallError {} end end end namespace :db do desc "Drops, creates, migrates, seeds dev DB and prepares test DB" task :rebuild => ["db:drop", "db:create", "db:migrate", "db:seed", "db:test:prepare"] end