2012-05-23 3 views
18

мне нужен пример для команды ниже в Symfony2:Symfony2, Как загрузить светильники с опцией --fixtures?

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

Я не знаю, как установить --fixtures=/path/to/fixture. Я могу загружать все вместе, но я не могу сделать это только для одного нового светильника!

Какой формат должен/путь/в/fixture быть?

Кроме того, я попытался это --fixtures=src/PMI/UserBundle/DataFixtures/ORM/FeatureFixtures, но я получаю это каждый раз:

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

ответ

37

Я знаю, что это старый, но и другие люди спрашивали, и эти ответы не могут рассмотрим некоторые другие вопросы.

Вам нужно указать только папку, а не файл. В вышеуказанном вопросе неясно, является ли FeatureFixtures файлом php или фактически папкой. Это может быть неудачно, если это только файл php, а не папка. Это правильный способ загрузить светильники при условии, что FeatureFixtures является PHP файл с сантехникой:

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

Если я хорошо понимаю, единственный способ загрузить один класс fixture - это поместить его в выделенный каталог –

+0

Это также будет работать с одним файлом fixture – gronostaj

3

Это не требуется, но если вы хотите, чтобы вручную указать каталог, где классы светильники должны быть загружены вы можете использовать это:

, например, если я выполнить команду в каталоге Symfony

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

Должен ли путь быть абсолютным? – PMoubed

+1

вы должны выбрать действительный каталог, вы можете использовать абсолютный или относительный путь. –

+13

Эта команда загружает все файлы приборов в данный абсолютный путь. Есть ли способ загрузить только определенный файл прибора? – PMoubed

4

Вы можете определить прибор с реальным путем.

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

вы пробовали то, что вы написали? это не сработает !!! – PMoubed

+1

Это очистит всю базу данных, а затем загрузит ваш конкретный прибор. –

+1

Добавьте '--append' до конца строки, чтобы избежать очистки всей базы данных и загрузки только этого конкретного инструмента. –