我正在尝试为一组足球队和足球队的位置种下种子,铁杆奇怪的是根本就没有这样做。
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')
让我知道你还需要看到什么,我处在一个缺乏经验和无法解释的错误的十字路口。
答案 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