【问题标题】:Running rake db:seed isn't loading from seeds.rb运行 rake db:seed 未从 seed.rb 加载
【发布时间】:2012-11-17 00:13:04
【问题描述】:

我正在尝试为一组足球队和足球位置播种,但奇怪的是,Rails 根本没有这样做。

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

一切看起来都很好,但是当我打开我的网站时(以前工作得很好,我知道这不是那里的代码)没有记录。

我正在加载三个对象:球队、球员和位置。有趣的是,当我要组建新团队时,没有场地,但当我要组建新球员时,却有场地。

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')

让我知道您还需要看什么,我正处于缺乏经验和莫名其妙的错误的十字路口。

【问题讨论】:

    标签: ruby-on-rails ruby sqlite


    【解决方案1】:

    我将提出一个建议,希望您能看到错误。在你的种子文件中使用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')
    

    【讨论】:

    • 好叫丹和本(像杰克逊五人乐队一样唱歌)输掉了蛇案。毛 :-) :position_short:position_name 等... 五块钱它的 attr_accessible
    • 非常感谢!那成功了。我有大量的验证问题,它解决了所有问题,并且做到了。非常感谢。
    • 如果可以的话会+10
    • 这是一个很好的解决方案,兄弟。真的很有帮助。非常感谢。
    • 在模型抛出异常并且甚至没有尝试执行 SQL 时派上用场。出色的抓地力。 create! 就是答案。
    【解决方案2】:

    替代解决方案?

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

    我必须重置我的数据库,否则 rails 'db:seed' 会以与上述相同的方式失败。

    这对我有用:

    rails db:migrate:reset
    rails db:seed
    

    【讨论】:

    • 或者只是rails db:setup
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2018-01-30
    • 2018-06-21
    • 2014-07-13
    • 1970-01-01
    • 2017-01-03
    • 2014-11-08
    相关资源
    最近更新 更多