2012-05-23 16 views
18

Ich brauche ein Beispiel für den Befehl unten in Symfony2:Symfony2, Wie man Fixtures mit --fixtures Option lädt?

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

Ich weiß nicht, wie die --fixtures=/path/to/fixture einzustellen. Ich kann alle zusammen laden, aber ich kann es nicht für nur eine neue Vorrichtung tun!

Welches Format sollte/Pfad/zu/Fixture sein?

Auch habe ich versucht, diese --fixtures=src/PMI/UserBundle/DataFixtures/ORM/FeatureFixtures aber ich habe dies jedes Mal: ​​

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

Antwort

37

ausführen ich weiß, das ist alt, aber andere Leute haben gefragt, und diese Antworten können nicht Bedecken Sie einige der anderen Fragen.

Sie müssen nur den Ordner angeben, nicht die Datei. In der obigen Frage ist es nicht klar, ob FeatureFixtures die PHP-Datei oder tatsächlich ein Ordner ist. Es kann fehlschlagen, wenn das nur eine PHP-Datei und kein Ordner ist. Dies ist der richtige Weg, um die Befestigungen zu laden unter der Annahme, dass FeatureFixtures eine PHP-Datei mit den Leuchten ist:

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

Wenn ich gut verstehe, ist die einzige Möglichkeit, eine Fixture-Klasse zu laden, in ein eigenes Verzeichnis –

+0

Dies funktioniert auch mit einer einzigen Fixture-Datei – gronostaj

3

Es erfordert nicht, aber wenn Sie das Verzeichnis manuell angeben, wo die Armaturen Klassen geladen werden, sollten Sie diese verwenden können:

zum Beispiel, wenn ich einen Befehl im Verzeichnis symfony

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

Sollte der Pfad absolut sein? – PMoubed

+1

Sie müssen ein gültiges Verzeichnis wählen, Sie können einen absoluten oder relativen Pfad verwenden –

+13

Dieser Befehl lädt alle Fixture-Dateien im angegebenen absoluten Pfad. Gibt es eine Möglichkeit, nur bestimmte Fixture-Dateien zu laden? – PMoubed

4

Sie eine Halterung mit dem realen Pfad definieren.

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

hast du versucht, was du geschrieben hast? es wird nicht funktionieren !!! – PMoubed

+1

Dies löscht die gesamte Datenbank und lädt dann Ihr spezifisches Gerät. –

+1

Fügen Sie '--append' an das Ende der Zeile hinzu, um zu vermeiden, dass die gesamte Datenbank gelöscht wird und nur dieses spezifische Daten-Fixture geladen wird. –