2016-06-30 2 views
0

Я пытаюсь написать простой скребок Ruby/Nokogiri, чтобы получить информацию о событиях с нескольких страниц, а затем вывести его в CSV, который прикреплен к электронному письму, отправленному еженедельно.Простая локальная база данных для Ruby?

Я завершил очищающие компоненты и компонент CSV, и он отлично работает. Однако теперь я понимаю, что мне нужно знать, когда добавляются новые события, а это значит, что мне нужна какая-то база данных. В идеале я бы просто сохранил это локально.

Я немного потрудился с использованием продолжения рубинового жемчуга, но данные, похоже, не сохраняются за пределами программы. Нужно ли загружать некоторое программное обеспечение базы данных для работы с продолжением? Также я не использую фреймворк Rails, просто Ruby.

Все рекомендации глубоко оценены!

+1

У вас есть RDBMS, установленная на вашем резидентном компьютере, чтобы вы могли сохранять данные? – MageeWorld

+0

Перед тем, как покинуть Sequel, вам нужно сделать больше, чем «окунуться». Если данные не сохраняются, это связано с тем, что вы используете базу данных SQLite в памяти. Хотя они очень полезны для некоторых задач, постоянная база данных обычно не является одной из них. Вместо этого посмотрите на использование SQLite на диске или PostgreSQL, MySQL или все, что у вас есть [это продолжение Sequel] (http://sequel.jeremyevans.net/rdoc-adapters/index.html). Это очень способно. http://sequel.jeremyevans.net/rdoc/files/README_rdoc.html#label-Connecting+to+a+database описывает, как использовать SQLite DB на диске. –

+0

Вы были абсолютно правы @ Tin-Man. И эта ссылка очень полезна! Спасибо! –

ответ

3

Я предполагаю, что вы сделали Sequel.sqlite, как в первом примере в Sequel README, который создает базу данных SQLite в памяти. Чтобы создать базу данных в файловой системе, вместо памяти, просто передать ему путь, например .:

Sequel.sqlite("./my-database.db") 

Это, конечно, при условии, что у вас установлен sqlite3 камень. Если данный файл не существует, он будет создан.

Это covered in the Sequel docs.

+0

Ах, конечно !! Я следовал примеру из Sequel README и не понимал, что когда он говорит в памяти, он будет уничтожен после завершения программы. Большое спасибо @ Иордан. Я ценю помощь! –

Смежные вопросы