• blackst0ne's avatar
    [Rails5] Fix Arel::UpdateManager · 54124fc6
    blackst0ne authored
    In Arel 7.0.0 (Arel 7.1.4 is used in Rails 5.0) the `engine` parameter
    of `Arel::UpdateManager#initializer` was removed.
    
    This commit makes the gitlab database helpers work both in rails 4 and
    rails 5.
    Fixes errors like this one:
    
    ```
    1) Gitlab::Database::MigrationHelpers#update_column_in_batches when running outside of a transaction updates all the rows in a table
        Failure/Error:
          update_arel = Arel::UpdateManager.new(ActiveRecord::Base)
            .table(table)
            .set([[table[column], value]])
            .where(table[:id].gteq(start_id))
    
        ArgumentError:
          wrong number of arguments (given 1, expected 0)
        # ./lib/gitlab/database/migration_helpers.rb:317:in `new'
        # ./lib/gitlab/database/migration_helpers.rb:317:in `block in update_column_in_batches'
        # ./lib/gitlab/database/migration_helpers.rb:307:in `loop'
        # ./lib/gitlab/database/migration_helpers.rb:307:in `update_column_in_batches'
        # ./spec/lib/gitlab/database/migration_helpers_spec.rb:367:in `block (4 levels) in <top (required)>'
    ```
    54124fc6
migration_helpers.rb 35.1 KB