Sha256: b2a389e9dc95060b3f7cc4a3fdf6a94cf74767eaf8feaadb1f90683b4ddbec18

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

require "bundler/gem_tasks"
require "rspec/core/rake_task"

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

require "rubocop/rake_task"

RuboCop::RakeTask.new

task default: %i[spec rubocop]

namespace :db do
  require_relative "./spec/support/test_database"
  require "active_record"
  require "dotenv/load"
  Dotenv.load

  desc "Create databases to be used in tests"
  task "create" do
    adapter = ENV.fetch("ADAPTER", "mysql2")
    puts "Creating #{adapter}"
    TestDatabase.set_env_database_url(adapter)
    TestDatabase.establish_connection
    ActiveRecord::Base.connection.create_database(TestDatabase.database_name)
  end

  desc "Drop databases to be used in tests"
  task "drop" do
    adapter = ENV.fetch("ADAPTER", "mysql2")
    puts "Dropping #{adapter}"
    TestDatabase.set_env_database_url(adapter)
    TestDatabase.establish_connection
    ActiveRecord::Base.connection.drop_database(TestDatabase.database_name)
  end

  desc "Migrate databases to be used in tests"
  task "migrate" do
    adapter = ENV.fetch("ADAPTER", "mysql2")
    puts "Migrating #{adapter}"
    TestDatabase.set_env_database_url(adapter, with_database_name: true)
    TestDatabase.establish_connection
    TestDatabase.run_migrations
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wt_activerecord_index_spy-0.5.0 Rakefile