Jak można wykonać zadanie rake db:seed
, aby używać różnych plików seeds.rb podczas produkcji i rozwoju?Ruby On Rails: sposób tworzenia różnych plików źródłowych dla środowisk
edit: lepsza strategia będzie powitalny
Jak można wykonać zadanie rake db:seed
, aby używać różnych plików seeds.rb podczas produkcji i rozwoju?Ruby On Rails: sposób tworzenia różnych plików źródłowych dla środowisk
edit: lepsza strategia będzie powitalny
można mieć zadanie natarcia zachowują się inaczej w zależności od aktualnego środowiska, można zmienić środowisko zadanie działa w przekazując RAILS_ENV=production
do komendy. Stosując te dwa razem można stworzyć coś tak:
Utwórz następujące pliki z otoczeniem konkretnych nasion:
db/seeds/development.rb
db/seeds/test.rb
db/seeds/production.rb
Umieść ten wiersz w pliku nasion bazowych, aby uruchomić odpowiedni plik
load(Rails.root.join('db', 'seeds', "#{Rails.env.downcase}.rb"))
połączeń zadanie nasiona:
rake db:seed RAILS_ENV=production
Czy to nadal preferowana technika dla Rails 4? – Donato
Nie wiem, czy jest to preferowana technika. Ale na pewno działa jak diabli. – rryter
Właśnie tego szukałem. Zrobiłem też inne niestandardowe środowiska, takie jak ci i qa. Po prostu upewnij się, że te inne są również zdefiniowane w database.yml oraz w folderze config/environments. – ed209
chciałbym wdrożyć wszystkie nasiona z boku jeden plik seed.rb
, a następnie po prostu oddzielić środowiska wewnątrz.
if Rails.env.production?
State.create(state: "California", state_abbr: "CA")
State.create(state: "North Dakota", state_abbr: "ND")
end
if Rails.env.development?
for 1..25
Orders.create(order_num: Faker::Number:number(8), order_date: Faker::Business.credit_card_expiry_date)
end
end
W ten sposób nie trzeba rzutować właściwości RAILS_ENV na zadaniu rake ani zarządzać wieloma plikami. Możesz również dołączyć Rails.env.test?
, ale osobiście pozwoliłem RSPEC zająć się danymi testowymi.
zajrzyj tutaj: http://stackoverflow.com/questions/8662127/how-to-use-seed-rb-to-selective-populate-development-and-or-production-databas – flyingjamus