rubydatabasecsvsequelsequel-gem

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!


Solution

  • 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.