Sha256: a28b569f51c20ddb277443cbd356d00bffe595dab39dd2263534ad16b6805dd0

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

require 'bundler/gem_tasks'

namespace :test do
  namespace :db do

    desc "Create test database"
    task :create do

      require_relative './spec/config/test_database.rb'

      db = TestDatabase.new
      case db.type
        when :postgres
          require 'pg'
          db.connect 'postgres'
          ActiveRecord::Base.connection.execute "CREATE DATABASE #{db.name}"

        when :mysql
          require 'mysql2'
          client_config = db.configuration
                            .merge(database: nil,
                                   username: 'root',
                                   password: ENV['DB_ROOT_PASSWORD'],
                                   flags: Mysql2::Client::MULTI_STATEMENTS)
          client = Mysql2::Client.new(client_config)
          client.query <<-SQL
            CREATE DATABASE #{db.name};
            GRANT ALL ON #{db.name}.* TO '#{db.configuration['username']}'@'#{db.configuration['host']}';
            FLUSH PRIVILEGES;
          SQL
        else
          raise "Unknown database type: #{db.type}"
      end

      puts "Test database \"#{db.name}\" created."
    end

  end
end

desc "Benchmark all available solutions to import CSV in Postgres database"
task :benchmark do
  require_relative 'benchmark/benchmark'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
csv_fast_importer-1.1.0 Rakefile
csv_fast_importer-1.0.0 Rakefile