2015-02-11 21 views
6

Có điều gì tôi có thể đặt trong quá trình di chuyển của mình để tự động nhân giống bảng với dữ liệu thử nghiệm sau khi quá trình di chuyển hoàn tất không?Hạt giống Laravel sau khi di chuyển

Hoặc bạn để tách riêng?

Trả lời

24

Bạn có thể gọi migrate:refresh với các tùy chọn để tự động --seed seed sau khi di cư đã hoàn thành:

php artisan migrate:refresh --seed 

này sẽ rollback và chạy lại tất cả các cuộc di cư của bạn và chạy tất cả các máy gieo hạt sau đó.


Cũng giống như thêm một chút, bạn cũng có thể luôn luôn sử dụng Artisan::call() để chạy một lệnh thợ thủ công từ bên trong ứng dụng:

Artisan::call('db:seed'); 

hoặc

Artisan::call('db:seed', array('--class' => 'YourSeederClass')); 

nếu bạn muốn lớp seeder cụ thể .

+0

Tuyệt vời! cảm ơn :) – imperium2335

+0

câu trả lời tuyệt vời với mẹo hữu ích ... cảm ơn – alaboudi

2

Trong khi lukasgeiter's answer là chính xác, tôi muốn xây dựng trên câu hỏi thứ hai của bạn.

Hoặc bạn phải hạt giống riêng biệt?

Có. Vì bạn đang nói về dữ liệu thử nghiệm, bạn nên tránh ghép nối gieo hạt với di chuyển. Tất nhiên nếu đây không phải là dữ liệu thử nghiệm, nhưng dữ liệu ứng dụng, bạn luôn có thể thực hiện chèn phần dữ liệu của quá trình di chuyển.

Ngoài ra, nếu bạn muốn lấy dữ liệu của mình như một phần của testing, bạn có thể gọi $this->seed() từ trong trường hợp thử nghiệm Laravel của bạn.

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