Seed
Another seeding library for Ruby
Rails 3 and Ruby 1.9
Seed is Rails 3 and Ruby 1.9 compatible
Usage
Planting a seed
Seed supports two syntaxes:
User.seed(:bob) do |user|
user.name = 'Bob'
end
or:
User.seed(:bob, :name => 'Bob')
Attempting to overwrite an existing seed will result in an error.
Seeding associations
Associations can be handled by first creating a seed:
Role.seed(:admin, :role => 'admin')
And then using that seed when generating the associated object:
User.seed(:bob, :name => 'Bob', :role => Role.seed(:admin))
Retrieving a seed
User.seed(:bob)
Attempting to retrieve a non-existent seed will result in an error.
Rake Task
NOTE: This step is only needed for Rails 2.x
Seed comes with a rake task to make creating multiple "seeds" easier. In your Rakefile, add the following:
require 'seed/task'
Create a db/seeds directory and add a named seed, such as development.rb.
Running rake db:seed:development will then load your seeds from db/seeds/development.rb.