mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 01:56:58 +08:00
REFACTOR: Simplify converter steps in migration tooling (#29779)
* Remove unused `report_progress_in_percent` option from step * Remove `use_custom_progress_increment` option from the step because we can figure it out by looking at the progress * Introduce `StepTracker` to for logging warnings and errors and tracking step progress * Make it easier to log warnings and errors in all methods of `Step` without the need to pass around a `stats` object
This commit is contained in:
@ -39,7 +39,7 @@ module Migrations::Converters::Base
|
||||
with_progressbar do |progressbar|
|
||||
@step.items.each do |item|
|
||||
stats = job.run(item)
|
||||
progressbar.update(stats)
|
||||
progressbar.update(stats.progress, stats.warning_count, stats.error_count)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -76,11 +76,7 @@ module Migrations::Converters::Base
|
||||
|
||||
def with_progressbar
|
||||
::Migrations::ExtendedProgressBar
|
||||
.new(
|
||||
max_progress: @max_progress,
|
||||
report_progress_in_percent: @step.class.report_progress_in_percent?,
|
||||
use_custom_progress_increment: @step.class.use_custom_progress_increment?,
|
||||
)
|
||||
.new(max_progress: @max_progress)
|
||||
.run { |progressbar| yield progressbar }
|
||||
end
|
||||
|
||||
@ -94,7 +90,7 @@ module Migrations::Converters::Base
|
||||
::Migrations::Database::IntermediateDB.insert(sql, *parameters)
|
||||
end
|
||||
|
||||
progressbar.update(stats)
|
||||
progressbar.update(stats.progress, stats.warning_count, stats.error_count)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user