I actually posted about this a couple of months ago, but before I take the plunge with option 2, I thought I'd ask one more time... so apologies in advance for the duplicate message.
We're planning on running a demo account for our Rails-based web app, to allow potential customers to try out the application before they sign-up for their own account.
People using the demo account will be able to add, edit and delete the demo data. To prevent the data getting too mangled, we would like to bootstrap the baseline data at regular intervals (once a night to begin with, possibly more often at a later date depending on usage).
Ideally we'd like to use the production instance of the app to host this demo account, so people can get an accurate idea of the speed of the app, and because it's one less server to worry about. However, we're struggling to come up with a neat Rails way to bootstrap the data for a single account. We can easily write code to delete the demo data, but re-populating it is cumbersome simply because there is rather a lot of it.
An alternative solution is to run a separate instance of the application on another server, and periodically bootstrap the entire database using rake db:bootstrap. This is far easier from a bootstrapping point of view, but it's something of a brute force approach.
Has anyone dealt with this sort of problem before, and/or can anyone suggest any clever methods for bootstrapping the demo data in the production environment?