Module: ActiveRecord::Slave::DatabaseTasks

Extended by:
DatabaseTasks
Included in:
DatabaseTasks
Defined in:
lib/active_record/slave/database_tasks.rb

Instance Method Summary collapse

Instance Method Details

#create_database(args) ⇒ Object



6
7
8
9
# File 'lib/active_record/slave/database_tasks.rb', line 6

def create_database(args)
  configuration = database_configuration args
  ActiveRecord::Tasks::DatabaseTasks.create configuration
end

#database_configuration(args) ⇒ Object



16
17
18
19
20
21
# File 'lib/active_record/slave/database_tasks.rb', line 16

def database_configuration(args)
  replication_name = args[:replicaition]
  replication_config = fetch_replication_config replication_name.to_sym
  connection_name = replication_config.master_connection_name
  ActiveRecord::Base.configurations[connection_name.to_s]
end

#drop_database(args) ⇒ Object



11
12
13
14
# File 'lib/active_record/slave/database_tasks.rb', line 11

def drop_database(args)
  configuration = database_configuration args
  ActiveRecord::Tasks::DatabaseTasks.drop configuration
end

#fetch_replication_config(replication_name) ⇒ Object



23
24
25
26
27
# File 'lib/active_record/slave/database_tasks.rb', line 23

def fetch_replication_config(replication_name)
  ActiveRecord::Slave.config.fetch_replication_config replication_name
rescue KeyError
  raise "Not exist #{replication_name} replicaition."
end