2012-05-23 27 views
18

Tôi cần một ví dụ cho lệnh dưới đây trong Symfony2:Symfony2, Cách tải đồ đạc bằng tùy chọn --fixtures?

php app/console doctrine:mongodb:fixtures:load --fixtures=/path/to/fixture 

Tôi không biết làm thế nào để thiết lập --fixtures=/path/to/fixture. Tôi có thể tải tất cả cùng nhau nhưng tôi không thể làm điều đó chỉ với một vật cố định mới!

Định dạng nên/đường dẫn/đến/lịch thi đấu là gì?

Ngoài ra tôi đã cố gắng này --fixtures=src/PMI/UserBundle/DataFixtures/ORM/FeatureFixtures nhưng tôi có được điều này mỗi khi:

[InvalidArgumentException]        
    Could not find any fixtures to load in:        
    - src/PMI/UserBundle/DataFixtures/ORM/FeatureFixtures 

Trả lời

37

Tôi biết điều này là cũ nhưng những người khác đã hỏi và những câu trả lời này có thể không bao gồm một số câu hỏi khác.

Bạn chỉ cần chỉ định thư mục chứ không phải tệp. Trong câu hỏi trên, nó không rõ ràng nếu FeatureFixtures là tập tin php hoặc thực sự là một thư mục. Nó có thể thất bại nếu đó chỉ là một tập tin php và không phải là một thư mục. Đây là cách chính xác để tải các đồ đạc giả định rằng FeatureFixtures là một tập tin php với các đồ đạc:

doctrine:fixtures:load --fixtures=src/PMI/UserBundle/DataFixtures/ORM --append 
+4

Nếu tôi hiểu rõ, cách duy nhất để tải một lớp cố định là đặt nó vào một thư mục chuyên dụng –

+0

Điều này cũng sẽ làm việc với một tập tin cố định duy nhất – gronostaj

3

Nó không yêu cầu nhưng nếu bạn muốn tự chỉ định thư mục chứa các lớp học đồ đạc nên được nạp, bạn có thể sử dụng này:

ví dụ: nếu tôi thực hiện lệnh trong thư mục symfony

--fixtures=/src/yourBundle/fixture 
+0

Đường dẫn có tuyệt đối không? – PMoubed

+1

bạn phải chọn một thư mục hợp lệ, Bạn có thể sử dụng đường dẫn tuyệt đối hoặc tương đối –

+13

Lệnh này tải tất cả các tệp lịch thi đấu trong đường dẫn tuyệt đối đã cho. Có cách nào để tải chỉ tập tin vật cố định cụ thể? – PMoubed

4

Bạn có thể xác định một vật cố với đường dẫn thực.

php app/console doctrine:fixtures:load --fixtures=src/MyBundle/DataFixtures/ORM/LoadMyFixturesData.php 
+1

bạn đã thử những gì bạn đã viết? nó sẽ không hoạt động !!! – PMoubed

+1

Thao tác này sẽ xóa tất cả cơ sở dữ liệu và sau đó tải vật cố định của bạn –

+1

Thêm '--append' vào cuối dòng, để tránh làm sạch toàn bộ cơ sở dữ liệu và chỉ tải dữ liệu cụ thể này. –

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