Question About Incremental and Ongoing Seeding of Database Throughout Application Life Cycle

Hi,

I have a question about how best to handle "ongoing" and "incremental" seeding of a database, after the application is built.

Summary of Application: I need to build a multiple choice testing application where, in short, each Question has four Answer Choices. A "User Specific Test" will consist of 200 randomly selected Questions from a Catalog that contains thousands of Questions. There are other constructs that handle things like Test Results, etc. Rails seems to handle the model pretty well.

Summary of the Issue: The requirement is that as new Questions and their correlating Answer Options get created, about 100 per month, they need to be loaded in bulk into the database, through an automated means. The key is not to disrupt anything that already exists in the database and automatically make the new Questions discoverable via the Catalog.

Is there a clean way to handle this with Rails? I've been skimming through things like Fixtures but don't know enough about them to understand whether they'd help.

Thanks, in advance, for any help you can offer.

Frank

one option:

  • build rake task to import data
  • and use schedular or background job to run it regularly

On Feb 24, 2012 8:18 AM, “Frank Guerino” lists@ruby-forum.com wrote:a

Hi,

I have a question about how best to handle "ongoing" and "incremental" seeding of a database, after the application is built.

Summary of Application: I need to build a multiple choice testing application where, in short, each Question has four Answer Choices. A "User Specific Test" will consist of 200 randomly selected Questions from a Catalog that contains thousands of Questions. There are other constructs that handle things like Test Results, etc. Rails seems to handle the model pretty well.

Summary of the Issue: The requirement is that as new Questions and their correlating Answer Options get created, about 100 per month, they need to be loaded in bulk into the database, through an automated means. The key is not to disrupt anything that already exists in the database and automatically make the new Questions discoverable via the Catalog.

Is there a clean way to handle this with Rails? I've been skimming through things like Fixtures but don't know enough about them to understand whether they'd help.

I use a script in db/seeds.rb to accomplish a similar task. I have a cron job that prepares the data and then runs rake db:seed to update the db from the source data. In fact all that seeds.rb does is call model methods to do the import.

Colin