diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d30c82..71957bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Raise error for `reindex_status` when Redis not configured - Warn when incompatible options used with `body` option - Fixed bug where `routing` and `type` options were silently ignored with `body` option +- Fixed `reindex(async: true)` for non-numeric primary keys in Postgres ## 2.3.1 diff --git a/lib/searchkick/index.rb b/lib/searchkick/index.rb index 469c692..8a8c012 100644 --- a/lib/searchkick/index.rb +++ b/lib/searchkick/index.rb @@ -446,7 +446,13 @@ module Searchkick # TODO expire Redis key primary_key = scope.primary_key - starting_id = scope.minimum(primary_key) + starting_id = + begin + scope.minimum(primary_key) + rescue ActiveRecord::StatementInvalid + false + end + if starting_id.nil? # no records, do nothing elsif starting_id.is_a?(Numeric) -- libgit2 0.21.0