| For data that I intend to share/reuse, I tend to have it in a SQL dump, but here are my (perhaps non-informed) assumptions and needs: 1. The values in this data never change. That is, if I'm maintaining a store of the U.S. Congress vote database, all votes (in the past) are inextricably and forever tied to a legislator's ID. 2. The seed data is so large that loading by ActiveRecord is too slow and needs to be done either by plain SQL import or activerecord-import. 3. The dataset should, when possible, imply its own opinion on conventions...so the Congressmebmer table will always be "congressmembers" and Vote will always be in "votes" and the relations and their keys will have the same convention in any app that uses this data. Of course, a particular app may choose to rename things, but they can do that after the seeding process. 4. For a situation like the above, it's likely that a Rails Engine has been made, i.e. with all the domain-specific logic. For smaller datasets, say, a list of the U.S. states and their abbreviations...storing them as plain seed files should suffice. So anyway, those are my past practices. I'm not saying they're best, though, and am always looking for better ways to organize data between apps. |