Nicholas Spinazze Nicholas Spinazze - 5 months ago 9
Ruby Question

Simple Local Database Solution for Ruby?

I'm attempting to write a simple Ruby/Nokogiri scraper to get event information from multiple pages and then output it to a CSV that is attached to an email sent out weekly.

I have completed the scraping components and the CSV component and it's working perfectly. However, I now realize that I need to know when new events are added, which means I need some sort of database. Ideally I would just store this locally.

I've dabbled a bit with using the ruby gem 'sequel', but the data does not seem to persist beyond the running of the program. Do I need to download some database software to work with 'sequel'? Also I'm not using the Rails framework, just Ruby.

Any and all guidance is deeply appreciated!

Answer

I'm guessing you did Sequel.sqlite, as in the first example in the Sequel README, which creates an in-memory SQLite database. To create a database in your filesystem instead of memory, just pass it a path, e.g.:

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

This is, of course, assuming that you have the sqlite3 gem installed. If the given file doesn't exist, it will be created.

This is covered in the Sequel docs.

Comments