namespace :mixed_gauge do desc 'Show all defined clusters and their detail' task info: %i(environment) do MixedGauge::DatabaseTasks.info end desc 'Setup all databases in all clusters' task setup: %i(create_all load_schema_all) do end desc 'Create all databases in all clusters' task :create_all => :environment do MixedGauge::DatabaseTasks.invoke_task_for_all_clusters('create') end desc 'Drop all databases in all clusters' task :drop_all => :environment do MixedGauge::DatabaseTasks.invoke_task_for_all_clusters('drop') end desc 'Load schema to all databases in all clusters' task :load_schema_all => :environment do MixedGauge::DatabaseTasks.invoke_task_for_all_clusters('load_schema') end desc 'Create all databases in specific cluster' task :create, %i(cluster_name) => %i(environment) do |_, args| MixedGauge::DatabaseTasks.create_all_databases(args) end desc 'Drop all databases in specific cluster' task :drop, %i(cluster_name) => %i(environment) do |_, args| MixedGauge::DatabaseTasks.drop_all_databases(args) end desc 'Load schema to all databases in specific cluster' task :load_schema, %i(cluster_name) => %i(environment) do |_, args| MixedGauge::DatabaseTasks.load_schema_all_databases(args) end end