Я импортирую данные в проект Rails 3. У меня есть 2 немного разных сценария. Я хотел бы знать, есть ли лучший способ.
Сценарий # 1
- Я выполняю динамически сгенерированный SQL, используя DBI: ODBC. (DBI, поскольку ActiveRecord не поддерживает эту базу данных.)
- Я перебираю набор результатов и вставляю данные в немодельную таблицу, используя ActiveRecord.
Оператор вставки генерируется с использованием форматирования строки Ruby следующим образом:
while row = result.fetch do
values = row.to_a
insert_sql = "insert into table (column1, column2) values (%s, %s)" % values
ActiveRecord::Base.connection.execute insert_sql
end
Есть ли лучший способ сделать это? Я не слишком заинтересован в использовании форматированных строк.
Сценарий № 2
Сценарий # 2 аналогичен # 1 ... Вместо того, чтобы получать данные из DBI, они приходят из файла CSV. Таким образом, в этом случае данные являются текстовыми (или строками). Опять же, я использую оператор вставки со спецификаторами% s и вставляю в немодельную таблицу с помощью ActiveRecord.
Есть ли лучший способ?