• Robert Speicher's avatar
    Merge branch 'update-column-in-batches-where' into 'master' · 43234742
    Robert Speicher authored
    Allow customising of queries used for `update_column_in_batches`
    
    This MR makes two changes to `add_column_with_default` and `update_column_in_batches`:
    
    1. `add_column_with_default` no longer wraps the entire set of updates in a single transaction, preventing any locks from sticking around for the duration of the entire transaction
    2. `update_column_in_batches` now takes a block which can be used to customise the queries. This uses Arel as messing with raw SQL strings is a total pain
    
    In !4381 there's a need for updating existing rows/columns in a table in batches using a custom `WHERE` condition. Without the changes in this MR this would not be possible.
    
    See merge request !4680
    43234742
migration_helpers_spec.rb 4.71 KB