Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 08h13   #1
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
Par défaut charger des data via fichier sql

bonjour, du fait d'une appli un peu volumineuse, je ne peut pas charger mes données de test via les fixtures.
Y a t il un moyen de les charger à partir d'un fichier sql ?
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 08h46   #2
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Hello,

Si ce SQL ne concerne que des données, et pas du tout la structure, qui elle est configurée proprement dans le schema.yml (avec classes, SQL et BDD générés via Doctrine), tu peux très bien charger ton fichier SQL de manière "classique" via PhpMyAdmin ou directement dans le prompt SQL, celà n'aura pas d'incidence sur le fonctionnement de ton appli.
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 09h22   #3
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
oui effectivement, c'est ce que je fait.
Mais pour la base de test que je souhaite "réinitialisé" a chaque début des test, je préférerai que cela soit inclus dans le processus symfony.
Du style en remplaçant le
Code :
Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');
ça m'éviterait de lancer les test en oubliant de la réinitialisation
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 09h45   #4
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Hmmm ...

Tu peux faire exécuter du code arbitrairement à Doctrine avec la technique suivante :

Code :
1
2
3
4
// récupération de la connexion
$con = Doctrine_Manager::getInstance()->connection();
// ta requête SL
$st = $con->execute("...............");
Avec un file_get_contents pour récupérer ton contenu SQL, ça peut "théoriquement" le faire. Cependant, si tes données de test sont trop volumineuses pour les fixtures, cette technique risque fort de ne faire que déplacer le problème .... Niveau volume on parle de combien de fixtures de test à peu près ?
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 10h09   #5
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
plusieurs tables ayant chacune plus de 10 000 lignes, ça le fera pas
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 11h43   #6
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Tu as vraiment besoin de tables de plus de 10.000 lignes pour des tests unitaires ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 17h24   #7
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
j'ai beaucoup de table avec beaucoup de relations entre elle, je trouve plus simple de remonter ma table de prod à un instant D que d'essayer de monter des fixtures plutot complexes
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 22h25   #8
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Pour des tests unitaires tu n'as pas nécessairement besoin de peupler toutes les tables tu peux te limiter aux tables qui font partie directement ou indirectement du tests, les autres peuvent rester vide.

De plus un test doit être reproductible ce qui n'est pas nécessairement le cas avec une copie de la base de production.

C'est toi le maitre de ton appli, à toi de voir...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h56.


 
 
 
 
Partenaires

Hébergement Web