Używam seed.rb do zapełnienia zarówno mojej bazy danych rozwoju i produkcji. Zwykle zapełniam pierwsze danymi fikcyjnymi, a druga prawdziwymi minimalnymi danymi, które musi uruchomić moja aplikacja (np. Pierwszy użytkownik itd.).Jak używać seed.rb do selektywnego zapełniania baz danych programistycznych i/lub produkcyjnych?
Jak określić w pliku seed.rb, w jakim środowisku są poszczególne dane?
Biorąc pod uwagę, że znam "grupę" jako metodę Gemfile, chciałbym osiągnąć to samo zachowanie dla seed.rb.
E.g. Chciałbym napisać coś takiego w moim 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)
to, aby móc wywołać zarówno rozwój specyficzne i niespecyficzne kod z
$ rake db:seed
i wezwać zarówno produkcja specyficzne i niespecyficzne kod z:
$ rake db:seed RAILS_ENV=production
Dziękuję
można podać więcej szczegółów? Kiedy już to zrobisz, jakich poleceń używasz? Jak zapewnić, że tylko zmiany trafiają do produkcyjnej bazy danych, a nie usuwać wszystkich innych danych nieokreślonych (docelowa baza danych może myśleć, że chcesz usunąć inne dane, jeśli materiał siewny jest pusty) itd. – ahnbizcad
@ahnbizcad możesz to zapewnić poprzez plik 'config/database.yml'. Ustawiono tam docelową bazę danych do produkcji, a także bazę danych programistycznych. – ruzenhack