Rake db:seed problems

Hello All,

I'm having trouble using the new rake db:seed function. I initially built my app in Rails 3.2.2 but have updated and re-frozen the new version (3.2.4) which is supposed to have the new data seeding function. I created a seed.rb file at db/seed.rb that looks something like this:

BuildingClass.create(:name => "Residential Zones", :land_used => 1 ) BuildingClass.create(:name => "Universities", :land_used => 2 ) BuildingClass.create(:name => "Intelligence Centers", :land_used => 3 ) BuildingClass.create(:name => "Research Centers", :land_used => 2 ) BuildingClass.create(:name => "Government Centers", :land_used => 2 ) BuildingClass.create(:name => "Tank Factories", :land_used => 5 ) BuildingClass.create(:name => "Plane Factories", :land_used => 5 ) BuildingClass.create(:name => "Shipyards", :land_used => 5 ) BuildingClass.create(:name => "Fortifications", :land_used => 2 )

WeaponType.create(:weapon_branch_id => 1, :offense_base => 3.0, :defense_base => 9.0, :weapon_type_name => "Tanks", :description => "Defensive Ground Unit") WeaponType.create(:weapon_branch_id => 1, :offense_base => 12.0, :defense_base => 3.0, :weapon_type_name => "Artillery", :description => "Offensive Ground Unit") WeaponType.create(:weapon_branch_id => 2, :offense_base => 3.0, :defense_base => 10.0, :weapon_type_name => "Fighters", :description => "Defensive Air Unit")

Whenever I try to run the command rake db:seed it appears to run with no errors but doesn't give any feedback and does not modify the DB.

Is anybody able to help?

Just a note, you can restructure this to make it a little more DRY. I find this easier to manage in the long run, particularly if I may need to add more later.

buildingclasses = [   {:name => "Name", :land_used => 1},   {:name => "Name 2", :land_used => 2}   // etc ]

puts "adding building classes" buildingclasses.each do |b|   BuildingClass.find_or_create_by_name(b) end

Have you tried seeding with rails unfrozen? Wondering if you can determine whether that's the problem, or if it's elsewhere.

Yeah, I thought of combining them into something like you suggested, but wanted to get them working in the simplest form before I tried complicating the file.

I'll try running it with an unfrozen rails later tonight. Don't have access to an updated rails install right now...thus the frozen rails :slight_smile:

Tried it with an unfrozen rails install....still won't work. I also stripped most of the seed data out of the file and condensed the information for the one model I left in. This is the file in it's entirety:

buildingclasses = [   {:name => "Commercial Zones", :land_used => 1 },   {:name => "Residential Zones", :land_used => 1},   {:name => "Universities", :land_used => 2 },   {:name => "Intelligence Centers", :land_used => 3 },   {:name => "Research Centers", :land_used => 2 },   {:name => "Government Centers", :land_used => 2 },   {:name => "Tank Factories", :land_used => 5 },   {:name => "Plane Factories", :land_used => 5 },   {:name => "Shipyards", :land_used => 5 },   {:name => "Fortifications", :land_used => 2 } ]

puts "adding building classes" buildingclasses.each do |b|   BuildingClass.find_or_create_by_name(b) end

well...i feel like an idiot...the blog that I googled and found the instructions for using this on said to use db/seed.rb. just changed it to seeds.rb and it worked beautifully.