Nice one, thanks!

On Tue, Oct 28, 2008 at 7:22 PM, reHa <[EMAIL PROTECTED]> wrote:
>
>> I'm writing a migration script which has to, well, actually migrate
>> all data from table A to table B, but I need to access the application
>> logic in model A for each row migrated. I could do this:
>>
>> MyModel.all.each do |instance|
>>   # do stuff...
>> end
>>
>> but as far as I know that would pre-instantiate all records in memory
>> beforehand, which could be *really bad* with the amount of records I'm
>> dealing with, and I only really need to work with a record at a time.
>
> Hi,
>
> Have you thought of using limit and a offset with a regular find?
> (below is the code but I didn't check if it's valid)
>
> current_offset = 0
> limit = 100
>
> begin
>  result = MyModel.find(:all, :limit=>limit, :offset=>current_offset)
>  #some operations
>  current_offset += limit
> end while result.size == 0
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to