NyxCode / ormx

bringing orm-like features to sqlx
MIT License
286 stars 32 forks source link

Discussion: get_many getters are impractical #7

Open OtaK opened 3 years ago

OtaK commented 3 years ago

Hey!

I've been trying to work with the get_many getters lately and they're essentially useless IMO because:

Meaning that you will have to resort to manual SQL queries if you're doing something as trivial as looking multiple records by a batched id/unique key.

I suggest changing the query in get_many to use a IN() statement instead of = and accepting a slice of arguments instead of a single one as it would semantically work as well.

But of course, as it'd be a breaking change, I'm triggering a discussion here.

I can take care of the implementation.

NyxCode commented 3 years ago

I agree, get_many is pretty limited right now. It was intended for something simple like User::get_by_role(Role). As far as I can remember, sqlx is still picky when it comes to encoding arrays of user-defined types to postgres. Therefor, I'd suggest we just create a new attribute for this, maybe #[ormx(get_any)]?