运行rake db:seed不从seeds.rb加载

时间:2012-11-29 00:47:17

标签: ruby-on-rails ruby sqlite

我正在尝试为一组足球队和足球队的位置种下种子,铁杆奇怪的是根本就没有这样做。

rake db:seed --trace
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:abort_if_pending_migrations

一切看起来都不错,但是当我提起我的网站时(之前正在使用peachy,我知道那里不是代码)没有记录。

我正在加载三个对象:团队,玩家和职位。有趣的是,当我组建一个新的团队时,没有任何领域,但是当我去创建一个新的玩家时,就有ARE字段。

Seeds.rb看起来像这样:

position = Position.create(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense')
team = Team.create( name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3')

让我知道你还需要看到什么,我处在一个缺乏经验和无法解释的错误的十字路口。

2 个答案:

答案 0 :(得分:50)

我将提出一个建议,希望你会看到一个错误。在种子文件中,使用create!代替create。如果模型不满足约束,那将导致操作抛出异常。给它一个镜头,看看它是否有帮助。

position = Position.create!(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense')
team = Team.create!( name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3')

答案 1 :(得分:0)

替代解决方案?

嘿大家,只是想添加一个可能的解决方案,以防上述以下建议不起作用。

我不得不重置我的数据库或其他rails&db; db:seed'会像上面提到的那样失败。

这对我有用:

rails db:migrate:reset
rails db:seed