加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 有没有办法拥有多个seeds.rb文件?种子数据的

发布时间:2020-12-16 23:25:40 所属栏目:百科 来源:网络整理
导读:我们需要为一些新添加的表添加更多的种子数据到我们的rails项目的“100版”. 但是,如果我们只是将它添加到seeds.rb并重新运行rake db:seed命令,它当然会重新添加原始种子数据,复制它. 因此,如果您已经将种子数据添加到seeds.rb中,例如,TableOne …我们如何
我们需要为一些新添加的表添加更多的种子数据到我们的rails项目的“100版”.

但是,如果我们只是将它添加到seeds.rb并重新运行rake db:seed命令,它当然会重新添加原始种子数据,复制它.

因此,如果您已经将种子数据添加到seeds.rb中,例如,TableOne …我们如何在开发的后期阶段逐步添加TableTwo和TableThree的种子数据?

我希望我可以简单地创建一个新的seeds_two.rb文件并运行rake db:seeds_two但这会产生错误不知道如何构建任务’db:seeds_two’

所以它看起来只能使用“seeds.rb” – 那么人们如何保持种子数据的增量添加?

解决方法

您可以重新使用种子任务,但将其设为 idempotent.

要使种子具有幂等性,只需在执行命令之前检查条件是否存在.例如:您想创建一个新的管理员用户吗?

User.find_or_create_by_username(:username => "admin")

代替

User.create(:username => "admin")

但是,在创建项目时,应使用种子填充数据库.如果要在应用程序的生命周期中执行复杂的数据播种,只需创建一个新的rake任务,执行它然后将其删除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读