Module: MixedGauge::DatabaseTasks

Extended by:
TaskOrganizerForSingleClusterTask, TasksForMultipleClusters, TasksForSingleConnection
Defined in:
lib/mixed_gauge/database_tasks.rb

Overview

Offers database related Rake tasks

Defined Under Namespace

Modules: TaskOrganizerForSingleClusterTask, TasksForMultipleClusters, TasksForSingleConnection

Class Method Summary collapse

Methods included from TasksForMultipleClusters

invoke_task, invoke_task_for_all_clusters

Methods included from TaskOrganizerForSingleClusterTask

create_all_databases, drop_all_databases, load_schema_all_databases

Methods included from TasksForSingleConnection

create, drop, load_schema

Class Method Details

.ar417_above?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/mixed_gauge/database_tasks.rb', line 26

def ar417_above?
  ar41? && ActiveRecord::VERSION::TINY > 7
end

.ar41?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/mixed_gauge/database_tasks.rb', line 21

def ar41?
  ar4? && ActiveRecord::VERSION::MINOR == 1
end

.ar42?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/mixed_gauge/database_tasks.rb', line 16

def ar42?
  ar4? && ActiveRecord::VERSION::MINOR == 2
end

.ar4?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/mixed_gauge/database_tasks.rb', line 11

def ar4?
  ActiveRecord::VERSION::MAJOR == 4
end

.ar5?Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/mixed_gauge/database_tasks.rb', line 6

def ar5?
  ActiveRecord::VERSION::MAJOR == 5
end

.cluster_namesArray<Symbol>

Returns:

  • (Array<Symbol>)


52
53
54
# File 'lib/mixed_gauge/database_tasks.rb', line 52

def cluster_names
  MixedGauge.config.cluster_configs.keys
end

.clustersArray<MixedGauge::ClusterConfig>

Returns:



58
59
60
# File 'lib/mixed_gauge/database_tasks.rb', line 58

def clusters
  MixedGauge.config.cluster_configs.values
end

.exit_with_errorObject

For mock-ablity



71
72
73
# File 'lib/mixed_gauge/database_tasks.rb', line 71

def exit_with_error
  exit 1
end

.fetch_cluster_config(cluster_name) ⇒ MixedGauge::ClusterConfig

Returns:

Raises:

  • (KeyError)


65
66
67
# File 'lib/mixed_gauge/database_tasks.rb', line 65

def fetch_cluster_config(cluster_name)
  MixedGauge.config.fetch_cluster_config(cluster_name)
end

.infoObject

Show information of database sharding config.



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mixed_gauge/database_tasks.rb', line 31

def info
  puts 'All clusters registered to mixed_gauge'
  puts
  clusters.each do |cluster|
    puts "= Cluster: #{cluster.name} ="
    cluster.connections.each do |name|
      puts "- #{name}"
    end
    puts
  end
end

.to_rake_task(task_name) ⇒ Rake::Task

Parameters:

  • task_name (String)

Returns:

  • (Rake::Task)


46
47
48
# File 'lib/mixed_gauge/database_tasks.rb', line 46

def to_rake_task(task_name)
  Rake::Task[task_name]
end