我正在使用seed.rb來填充我的開發和生產數據庫。我通常用虛擬數據填充第一個數據,後者使用我的應用程序需要運行的真實最小數據(例如第一個用戶等)填充。如何使用seed.rb選擇性地填充開發和/或生產數據庫?
如何在seed.rb中指定每個數據是什麼環境?
鑑於我知道「組」是一個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
謝謝
可以爲您提供更多的細節?一旦你編寫代碼,你使用了什麼命令?如何確保只有更改進入生產數據庫,並且不清除所有未指定的其他數據(如果目標數據庫的種子爲空,則目標數據庫可能認爲要清除其他數據)等。 – ahnbizcad 2014-11-06 00:42:09
@ahnbizcad您確保它通過'config/database.yml'文件。您在那裏設置生產數據庫目標以及開發數據庫。 – ruzenhack 2017-08-03 03:13:55