2013-01-22 24 views
26

Một phần của seeds.rb tải rất nhiều dữ liệu vào cơ sở dữ liệu. Tôi muốn có thể tải dữ liệu này một cách có chọn lọc. Ví dụ.Tôi có thể chuyển đối số cho rake db: seed không?

$ rake db:seed 

hoặc

$rake db:seed[0] 

sẽ chỉ tải các dữ liệu cần thiết để chạy các trang web, trong khi

$ rake db:seed[1] 

sẽ tải tập tin dữ liệu lớn của tôi vào cơ sở dữ liệu là tốt. Điều này có thể không? Làm thế nào tôi có thể làm điều này xảy ra? Nếu không, bất cứ ai có thể nghĩ ra một cách để làm những gì tôi đang cố gắng làm?

+0

Xem thêm http://stackoverflow.com/questions/ 825748/how-do-i-pass-command-line-argument-to-a-rake-task? Rq = 1 –

Trả lời

43

Đối số cào thật khó để vượt qua, thật không may (và db:seed không chuyển đối số của nó qua, bất kể).

Tốt nhất là sử dụng các biến môi trường để vượt qua args thêm của bạn thông qua:

rake db:seed minimal=yes 

unless ENV["minimal"] 
    # do stuff 

vv

+0

Tôi sẽ thử điều này nhanh chóng. Cảm ơn! – Chris

+2

Làm đẹp. Làm việc hoàn hảo. Cảm ơn. – Chris

Các vấn đề liên quan