как импортировать набор данных «многие к одному» в базу данных (размещена на heroku) - PullRequest
1 голос
/ 11 февраля 2011

Мы используем rails3 для heroku и activerecord.

в нашей базе данных есть две таблицы: ключевые слова и продукты

, что мы хотели бы импортировать, это один файл, в котором каждая строка содержит один продукти одно или несколько ключевых слов (которые также могут быть фразами), что-то вроде этого:

product_number, price_cents, keyword, ..., keyword
item_00001, 100, screwdriver, philips screwdriver, philips
item_00002, 100, screwdriver, flat head screwdriver
item_00205, 500, wrench, crescent wrench, monkey wrench
item_00099, 1500, bulb, light bulb, incandescent light, incandescent
item_01010, 575, widget

Есть ли хороший камень для импорта данных, возможно, до 10000 строк?

илиэто тривиально просто, используя старый добрый рубин?

1 Ответ

1 голос
/ 11 февраля 2011

Относительно просто использовать File.open и CSV.parse_line.Вот начало:

require 'csv'

File.open(File.dirname(__FILE__) + "path/to/file/file.csv", "r").each_line do |line|
    line_array = CSV.parse_line(line)
    product_number = line_array[0]
    price_cents = line_array[1]
    keywords = line_array[2..-1]
    # create a product here
    keywords.each do |keyword|
         # create a keyword and associate it with product
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...