Add store update methods
Closed this issue · 0 comments
palkan commented
Examples:
- Delete hstore keys:
# before
Post.update_all(["labels = delete(labels, ARRAY[?])", id.to_s])
# after
Post.update_store(:labels).delete_keys(id)
- Merge hstore
# before
Post.update_all(["labels = hstore(labels) || hstore(ARRAY[:keys])",
keys: labels.map { |g, l| [g.to_s, l.to_s] }.flatten])
# after
Post.update_store(:labels).merge(labels)
- Delete pairs
Post.update_store(:labels).delete_pairs(labels)