Module: ActiveRecord::Sharding::DatabaseTasks
Defined Under Namespace
Modules: TaskOrganizerForSingleClusterTask, TasksForMultipleClusters, TasksForSingleConnection, TasksForSingleSequencerTask
Instance Method Summary
collapse
invoke_task, invoke_task_for_all_clusters, invoke_task_for_all_sequencers, invoke_task_for_sequencer
create_all_databases, drop_all_databases, load_schema_all_databases
create, drop, execute, load_schema
create_sequencer_database, create_table_sequencer_database, drop_sequencer_database, insert_initial_record_sequencer_database
Instance Method Details
#ar417_above? ⇒ Boolean
47
48
49
|
# File 'lib/active_record/sharding/database_tasks.rb', line 47
def ar417_above?
ar41? && ActiveRecord::VERSION::TINY > 7
end
|
#ar41? ⇒ Boolean
43
44
45
|
# File 'lib/active_record/sharding/database_tasks.rb', line 43
def ar41?
ar4? && ActiveRecord::VERSION::MINOR == 1
end
|
#ar42? ⇒ Boolean
39
40
41
|
# File 'lib/active_record/sharding/database_tasks.rb', line 39
def ar42?
ar4? && ActiveRecord::VERSION::MINOR == 2
end
|
#ar4? ⇒ Boolean
35
36
37
|
# File 'lib/active_record/sharding/database_tasks.rb', line 35
def ar4?
ActiveRecord::VERSION::MAJOR == 4
end
|
#ar5? ⇒ Boolean
31
32
33
|
# File 'lib/active_record/sharding/database_tasks.rb', line 31
def ar5?
ActiveRecord::VERSION::MAJOR == 5
end
|
#cluster_names ⇒ Object
55
56
57
|
# File 'lib/active_record/sharding/database_tasks.rb', line 55
def cluster_names
ActiveRecord::Sharding.config.cluster_configs.keys
end
|
#clusters ⇒ Object
51
52
53
|
# File 'lib/active_record/sharding/database_tasks.rb', line 51
def clusters
ActiveRecord::Sharding.config.cluster_configs.values
end
|
#fetch_cluster_config(cluster_name) ⇒ Object
63
64
65
|
# File 'lib/active_record/sharding/database_tasks.rb', line 63
def fetch_cluster_config(cluster_name)
ActiveRecord::Sharding.config.fetch_cluster_config cluster_name
end
|
#fetch_sequencer_config(sequencer_name) ⇒ Object
71
72
73
|
# File 'lib/active_record/sharding/database_tasks.rb', line 71
def fetch_sequencer_config(sequencer_name)
ActiveRecord::Sharding.config.fetch_sequencer_config sequencer_name
end
|
#info ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/active_record/sharding/database_tasks.rb', line 6
def info
puts "All clusters registered to activerecord-sharding"
puts
clusters.each do |cluster|
puts "= Cluster: #{cluster.name} ="
cluster.connections.each do |name|
puts "- #{name}"
end
puts
end
puts_sequencers
end
|
#puts_sequencers ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/active_record/sharding/database_tasks.rb', line 19
def puts_sequencers
return unless sequencers
puts "All sequencers registered to activerecord-sharding"
puts
sequencers.each do |sequencer|
puts "= Sequencer: #{sequencer.name} ="
puts "- Connection:#{sequencer.connection_name} Table:#{sequencer.table_name}"
puts
end
end
|
#sequencer_names ⇒ Object
59
60
61
|
# File 'lib/active_record/sharding/database_tasks.rb', line 59
def sequencer_names
ActiveRecord::Sharding.config.sequencer_configs.keys
end
|
#sequencers ⇒ Object
67
68
69
|
# File 'lib/active_record/sharding/database_tasks.rb', line 67
def sequencers
ActiveRecord::Sharding.config.sequencer_configs.values
end
|
#to_rake_task(task_name) ⇒ Object
75
76
77
|
# File 'lib/active_record/sharding/database_tasks.rb', line 75
def to_rake_task(task_name)
Rake::Task[task_name]
end
|