scinote-web/lib/tasks/samples_to_repository_migration.rake
2018-02-15 09:36:09 +01:00

40 lines
1.6 KiB
Ruby

require_relative '../../app/services/tasks/samples_to_repository_migration_service'
namespace :samples_to_repository_migration do
desc 'Migrates all data from samples to custom repository'
task :run, [:last_id] => :environment do |_, args|
params = { batch_size: 10 }
migration_service = SamplesToRepositoryMigrationService
if args.present? && args[:last_id].present?
params[:start] = args[:last_id].to_i
end
Team.find_each(params) do |team|
puts "******************************* \n\n\n\n"
puts "Processing Team id => [#{team.id}] \n\n\n\n"
puts '*******************************'
samples_sql = <<-SQL
SELECT samples.id AS sample_id,
samples.name AS sample_name,
samples.user_id AS sample_created_by_id,
samples.last_modified_by_id AS sample_last_modified_by_id,
sample_types.name AS sample_type_name,
sample_groups.name AS sample_group_name,
sample_groups.color AS sample_group_color
FROM samples
JOIN sample_types ON samples.sample_type_id = sample_types.id
JOIN sample_groups ON samples.sample_type_id = sample_groups.id
WHERE samples.team_id = #{team.id}
SQL
repository = migration_service.prepare_repository(team)
custom_columns = migration_service.prepare_text_value_custom_columns(team, repository) +
migration_service.prepare_list_value_custom_columns_with_list_items(
team,
repository
)
byebug
end
end
end