# frozen_string_literal: true
namespace :dynamo do
desc 'Run dynamo migrations' task migrate: :environment do Dynamo::Record::TaskHelpers::MigrationRunner.run { |msg| puts msg } end desc 'Drops all dynamo tables and re-runs migrations' task reset: :environment do Rake::Task['dynamo:drop_all'].invoke Rake::Task['dynamo:migrate'].invoke end desc 'Drop all dynamo tables' task :drop_all, [:override] => :environment do |_t, args| puts Dynamo::Record::TaskHelpers::DropAllTables.run args[:override] end desc 'Drop a specified dynamo table' task :drop, [:table_name] => :environment do |_t, args| puts Dynamo::Record::TaskHelpers::DropTable.run args[:table_name] end desc 'List all tables with dynamo prefix' task list_tables: :environment do puts Dynamo::Record::TaskHelpers::ListTables.run end desc 'Delete all records in all DyanmoDB tables.' task cleanup: :environment do Dynamo::Record::TaskHelpers::Cleanup.run puts 'Finished deleting all records in all DynamoDB tables.' end desc 'Scale a dynamo table read/write capacity to the new capacity value provided' task :scale, %i[model_name attribute new_throughput] => :environment do |_t, args| puts Dynamo::Record::TaskHelpers::Scale.new(args[:model_name], args[:attribute], args[:new_throughput].to_i).run end
end