2

У меня есть база данных mysql, в которой есть таблица, в которой хранятся данные от сторонней службы поставщика платежей. Данные, которые мы храним, - это, в основном, сведения о подписке для клиентов. К сожалению, мне нужно загрузить файл экспорта и проанализировать его, чтобы получить данные. То, что я хочу сделать, - это настроить ежедневную работу, которая обновляет подписку end_dates в моей базе данных. Так что у меня есть подписки объект, который выглядит следующим образом:Rails, mysql, сохраняя данные в актуальном состоянии

Subscription object: 
    attributes: 
    id: 
    subscription_uuid: 
    account_code: 
    email: 
    current_period_ends_at: 

То, что я хочу знать, является наиболее эффективным способом, чтобы обновить эти объекты current_period_ends_at поля даты и времени в MySQL с помощью реек.

Я начинаю с массивом хешей, который выглядит следующим образом:

[{:id => 1, :subscription_uuid => 123, :account_code => 10, :email => [email protected], :current_period_ends_at => 2013-10-02 16:37:05}] 

Я думал, я бы перебирать массив в пакетах, так как большое количество данных, и вызвать рельсы update_attributes метод для каждого объекта подписки в базе данных. Мне интересно, как это делают умные люди или, если есть способ, я могу получить в партиях кучу объектов подписки, а затем также обновлять их партиями, чтобы ускорить процесс?

Любая помощь приветствуется. Благодаря!

ответ

0

Я бы использовал создание! который генерирует объект и сохраняет его. create также принимает массив хэшей для создания и сохранения нескольких объектов. Ваша интуиция относительно дозирования правильная.

params = { 
    :id  => something, 
    :subscription_uuid => something, 
    :account_code => something, 
    :email  => something, 
    :current_period_ends_at => something 
    } 
    Subscription.create!(params) 
Смежные вопросы