Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在Rails中撤消以前播种的数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过编辑db / seed.rb文件并执行rake db:seed命令将一行数据播种到我的表中.在不知不觉中,我把一些错误的信息放到那一行.所以我想删除以前添加的数据行.是否有rake db:rollBACk for rake db:migrate之类的rake命令.

解决方法

这有几个方面:

1:当数据库中没有其他数据时,您想要更改种子数据:

您应该在更新seed.rb文件后重做rake db:seed.在尝试向该模型添加任何内容之前,请确保您具有Mymodel.delete_all.

2:您想要更改种子数据,但是还有其他数据添加到数据库中

这有点难.通常,最简单的方法是使用原始sql语句手动更改数据,或者使用PhpPpAdmin,PhpMyAdmin等工具.

现在,有可能一种方法来破解这一点,那就是在seed.rb文件中做一些伏都教.所以你可以运行rake db:seed deseed = true,然后在你的seed.rb中:

if ENV['deseed'] 
   #Do your deseeding action here
else
   #Do your seeding here.
end

你甚至可以变得疯狂,并做这样的事情:

deseed = ENV['desee']

#DANGER: Dirty hacks upcoming:
deseed? mymodelCall = Mymodel.method(:destroy_all): mymodelCall = Mymodel.method(:create)

mymodelCall.call :user_id_or_whatevs => 23 #this creates or deletes a Mymodel entity with the given parameters
#NOTE this might not work in all cases and I would not necessarily recommend doing this. 

#<3uby

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 在Rails中撤消以前播种的数据全部内容,希望文章能够帮你解决ruby-on-rails – 在Rails中撤消以前播种的数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。