2015-09-25 2 views
1

Мне нужно загрузить данные в приложение Spree. Spree использует Rails Engines.Как запустить kiba etl в среде рельсов?

Все примеры используют довольно печатные или CSV-адресаты, но я хочу использовать модели spree в пункте назначения, например. SpreeModel.create!(row)

Я пытался сделать rails runner "exec('kiba db/etl/convert-csv.etl')", но я получаю эту ошибку:

db/etl/convert-csv.etl:4:in `parse': uninitialized constant Kiba::Context::Spree (NameError) 

Я также попытался в консоли Rails, но безуспешно.

+0

Как показывает ошибка, вы инициализировали Kiba? I.e: Вы установили драгоценный камень и потребовали его в своем коде. – Waclock

ответ

1

автор Kiba здесь. Спасибо за использование его :-)

Поскольку это действительно выглядит как потенциально часто задаваемый вопрос, я написал полный пост в блоге, предоставляя вам 2 варианта ответа:

How to run Kiba in a Rails environment

Позвольте мне знать, если на самом деле это работает для тебя!

+0

Благодарим вас за хорошо задокументированные ответы в вашем сообщении в блоге. Если бы я прочитал это раньше, это позволило бы мне несколько часов найти решение в [Kiba :: Cli] (https://github.com/thbar/kiba/blob/master/lib/kiba/cli.rb). Тем не менее, это помогло мне узнать немного Рейка, хороший недостаток заставил меня ;-) Отличная работа! Так держать. – mardocp

+0

Извините, вы потратили часы на это, действительно! В следующий раз, пожалуйста, не стесняйтесь создавать вопрос о SO (всегда помеченный kiba-etl, поэтому я получаю уведомление должным образом!), Если вы столкнулись с проблемой блокировки. Программный вызов немного похож на [readme] (https://github.com/thbar/kiba#how-do-you-run-your-etl-jobs), и в любом случае вы пропустили бы «среду», трюк. Я благодарен, что вы опубликовали этот вопрос, так что теперь это правильно документировано и помогает другим! –

+0

У меня такая же проблема с этой ошибкой /Users/rbennacer/projects/kaboom/mop2/config/environments/development.rb:1:in ' ': uninitialized constant Rails (NameError) – fenec