Sha256: 0e633c9c0cf9bc79fd81499138e35325695e3e4e407310912673397105d4de59

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'yaml'
require 'mysql2'
require 'octoshark'

RSpec::Core::RakeTask.new(:spec)

task :default => :spec

namespace :db do
  task :establish_connection do
    configs    = YAML.load_file('spec/support/config.yml')
    config     = configs['db1'].reject { |k, v| k == 'database' }
    @databases = configs.map { |_, config| config['database'] }
    ActiveRecord::Base.establish_connection(config)
  end

  task :create => :establish_connection do
    @databases.each do |database|
      begin
        ActiveRecord::Base.connection.create_database(database, charset: 'utf8')
        puts "#{database} created."
      rescue ActiveRecord::StatementInvalid => e
        if e.message.match /database exists/
          puts "#{database} exists."
        else
          raise e
        end
      end
    end
  end

  task :drop => :establish_connection do
    @databases.each do |database|
      ActiveRecord::Base.connection.drop_database(database)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
octoshark-0.6.0 Rakefile
octoshark-0.5.1 Rakefile
octoshark-0.5.0 Rakefile
octoshark-0.4.0 Rakefile
octoshark-0.3.0 Rakefile