defmodule EctoSparkles.DataMigration.Config do
@moduledoc """
Configuration for a `DataMigration` behaviour module, used by the `DataMigration.Runner`.
batch size: how many elements from your table to migrate at a time.
throttle time: the amount of downtime the runner should sleep between batches.
async: Whether to run the migration in an async process, meaning the execution of the rest of the migrations (and the app startup if you're auto-migrating on start) won't be delayed. WARNING: this means the migration will be marked as done as soon as it starts, so if the process is interrupted it won't be re-run automatically.
first_id: The very first ID when sorting UUIDs in ascending order. If you use integer IDs instead, this would be 0.
"""
defstruct(
batch_size: 10,
throttle_ms: 1000,
repo: nil,
async: false,
first_id: Ecto.UUID.dump!("00000000-0000-0000-0000-000000000000")
)
end