Disable "find" (in favor of find_each)

I have a table that is large, and I work for a growing company. We will
use find_each or find_each_in_batches, but as our code base grows and
the
number of hands touching the code increases, I’m concerned that we may
risk
releasing code that will perform terribly in production. Our test
environments do not have millions of records, so we’re unlikely to catch
an
error until we push to production and see our systems grind to a halt.

I’m wondering if there’s an easy way to force the use of find_each (or
find_in_batches) for all queries written against my model. This would
be
one change we could make and we’d forever catch the mistake at the test
phase vs having to always worry that our new guy will write perfectly
valid
code and we’ll just forget that you can’t use that code on that model.

On 24 February 2012 02:01, John H. [email protected]
wrote:

Our test environments do not have millions of records, so we’re unlikely to catch
an
error until we push to production and see our systems grind to a halt.

Then they’re not very good test systems. They should be as close a
possible to production to highlight exactly this kind of thing.

vs having to always worry that our new guy will write perfectly valid
code and we’ll just forget that you can’t use that code on that model.

Code reviews? Training?

I’m sorry to say I don’t think my post directly answers your issue
(have you tried aliasing/overloading AR::Base.find?), but that’s
because I think your solution is dealing with the symptoms rather than
the core of your problem.

use MyModel.methods.grep
could catch this

On Feb 24, 2012 10:01 AM, “John H.” [email protected]
wrote:

I have a table that is large, and I work for a growing company. We will
use find_each or find_each_in_batches, but as our code base grows and
the
number of hands touching the code increases, I’m concerned that we may
risk
releasing code that will perform terribly in production. Our test
environments do not have millions of records, so we’re unlikely to catch
an
error until we push to production and see our systems grind to a halt.

I’m wondering if there’s an easy way to force the use of find_each (or
find_in_batches) for all queries written against my model. This would
be
one change we could make and we’d forever catch the mistake at the test
phase vs having to always worry that our new guy will write perfectly
valid
code and we’ll just forget that you can’t use that code on that model.


You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/WX5EB40UnXQJ.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs