我可以将参数传递给rake db:seed吗?

Chr*_*ris 30 rake ruby-on-rails seeding rakefile

我的一部分seeds.rb将大量数据加载到数据库中.我希望能够有选择地加载这些数据.例如

$ rake db:seed
Run Code Online (Sandbox Code Playgroud)

要么

$rake db:seed[0]
Run Code Online (Sandbox Code Playgroud)

只会加载必要的数据来运行网站

$ rake db:seed[1]
Run Code Online (Sandbox Code Playgroud)

我也会将我的大数据文件加载到数据库中.这可能吗?我怎样才能做到这一点?如果没有,谁能想到办法做我想做的事情?

Nev*_*vir 50

不幸的是,Rake论证很难传递(并且db:seed无论如何都不会传递它的论点).

最好的办法是使用环境变量来传递额外的args:

rake db:seed minimal=yes
Run Code Online (Sandbox Code Playgroud)

unless ENV["minimal"]
  # do stuff
Run Code Online (Sandbox Code Playgroud)

等等

  • 美容.工作得很完美.谢谢. (2认同)