2009-11-25 13 views
13

Je me demandais si quelqu'un savait comment générer un fixture.yml à partir de données déjà existantes dans la base de données?Comment générer des fixtures Symfony YML à partir de données de base de données existantes?

Comme vous pouvez utiliser le schéma de construction pour générer un schéma, existe-t-il un moyen de le faire pour les données?

symfony propel:build-schema 
+0

Pourquoi ne pas lire attentivement la sortie de symfony, hein? – develop7

Répondre

5

Symfony 1.0 utiliser la commande:

$ php symfony propel-dump-data <APPLICATION_NAME> <FIXTURES_DIR_OR_FILE> [<ENVIRONMENT_NAME>] 

Dans les versions 1.1 et 1.2 utiliser la commande suivante:

$ php symfony propel:data-dump <APPLICATION_NAME> [<TARGET>] [--env=<ENVIRONMENT_NAME>] 
+0

Très bien - merci. – frodosghost

+0

la commande ne fonctionne pas, j'utilise Symfony1.2-propel. cela me donne une erreur car "l'exécution a échoué - Trop d'arguments donné" s'il vous plaît aider! –

+0

@harish Je pense que vous avez oublié le "--env =" donc il devrait être "--env = dev" pas simplement "dev" –

6

J'ai trouvé un solution dans une archive de messagerie. L'utilisateur utilise

symfony propel:data-dump > fixture.yml 
+0

ouais! ce code fonctionne ... Merci. Felix, il crée le fichier fixture.yml dans le dossier racine. –

5

Je viens de le faire sous symfony 1.2 et Doctrine.

symfony doctrine: data-benne

Cette dépotoirs toute la base de données/accessoires/data.yml. J'avais chargé des données dans la base de données avec un fichier .sql et je voulais qu'il soit un appareil pour ma base de données en direct. Je viens d'éditer le fichier data.yml à la table de base de données dont j'avais besoin.

L'alternative était d'écrire du code pour lire la table de base de données et la sortir au format YAML.

+0

Cela fonctionne également sur Symfony 1.4 et Doctrine. –

12

Symfony 1.4 il vous suffit d'écrire:

./symfony doctrine:data-dump 

et vous obtenez le fichier data/fixtures/data.yml

:-)