ruby-on-rails – 如何使用seed.rb选择性地填充开发和/或生产数据库?

我使用seed.rb填充我的开发和生产数据库。我通常填充第一个虚拟数据,后者与真正的最小数据,我的应用程序需要运行(例如第一个用户等)。

如何在seed.rb中指定每个数据是什么环境?

鉴于我知道“group”是一个Gemfile方法,我想实现seed.rb相同的行为。

例如。我想在seed.rb中写这样的东西:

group :development do 
  # development specific seeding code
end

group :production do 
  # production specific seeding code
end

# non-specific seeding code (it always runs) 

这是为了能够调用开发特定的和非特定的代码

$ rake db:seed

并调用特定于生产的和非特定的代码:

$ rake db:seed RAILS_ENV=production 

谢谢

seeds.rb只是一个普通的ruby文件,所以有几种方法可以解决这个问题。 case语句怎么样?

# do common stuff here

case Rails.env
when "development"
   ...
when "production"
   ...
end
http://stackoverflow.com/questions/8662127/how-to-use-seed-rb-to-selectively-populate-development-and-or-production-databas

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – 如何使用seed.rb选择性地填充开发和/或生产数据库?