diff --git a/api/src/DataFixtures/AppFixtures.php b/api/src/DataFixtures/AppFixtures.php index 8105f73ee7d2b8d2b69db8751bac983e8cdb61be..38c24e69c9d5b438043a6980aa10c65af2348dd9 100755 --- a/api/src/DataFixtures/AppFixtures.php +++ b/api/src/DataFixtures/AppFixtures.php @@ -13,9 +13,9 @@ class AppFixtures extends Fixture public function load(ObjectManager $manager) { - echo __DIR__; + $manager->getConnection()->getConfiguration()->setSQLLogger(null); // create 20 products! Bam! - for($annee = 2015;$annee<=2015;$annee++){ + for($annee = 2015;$annee<=2019;$annee++){ echo "chargement des données de l'année ".$annee."\n\n"; $json = file_get_contents(__DIR__.'/deps.json'); $deps = json_decode($json,true); @@ -27,7 +27,6 @@ class AppFixtures extends Fixture $depToRegion = array(); foreach ($deps as $key => $value) { - echo $value["nom"]; $depToRegion[$value["code"]] = $value["nomRegion"]; }; @@ -36,30 +35,32 @@ class AppFixtures extends Fixture $line = fgetcsv($file,1024,"|"); // on ne prend en compte que les ventes, tout autre élément est ignoré car l'evenement peut influer sur le prix // puisque le nombre de vente est tres supérieur aux autre type de mutation le résultat n'en sera affecté que de façon négligeable - //if(strcmp($line[9],'Vente')==0 &&( strcmp($line[36],'Maison')==0 || strcmp($line[36],'Appartement')==0)){ - $propertysale = new PropertySale(); - $propertysale->price = doubleval($line[10]); - $propertysale->surface = $line[38]==''?0:intval($line[38]); - //$pieces = explode(" ", $line[8]); - $pieces2 = explode("/", $line[8]); - $propertysale->date = new DateTime($pieces2[2]. "-" . $pieces2[1] . "-" . $pieces2[0]); - $propertysale->department = $line[18]; - $propertysale->region = $depToRegion[$line[18]];//TODO : "la surface ne nous interresse pas dans ce projet, je le remplace par le type de local, il faudra remplacer le nom de la-dite variable" - $manager->persist($propertysale); - if($cpt++%1000==0){// on limite le nombre de données acquise pour éviter une surcharge mémoire => meme en allouant 2G de memoire a php, l'acquisition de 100 000 données n'était pas possible - echo (++$percent)."% done \n"; - if($percent == 100){ - fseek($file,0,SEEK_END); - } + if( strcmp($line[36],'Maison')==0 || strcmp($line[36],'Appartement')==0){ + $propertysale = new PropertySale(); + $propertysale->price = doubleval($line[10]); + $propertysale->surface = $line[38]==''?0:intval($line[38]); + //$pieces = explode(" ", $line[8]); + $pieces2 = explode("/", $line[8]); + $format = "d/m/Y"; + $propertysale->date = DateTime::createFromFormat($format, $line[8]); + $propertysale->department = $line[18]; + $propertysale->region = $depToRegion[$line[18]];//TODO : "la surface ne nous interresse pas dans ce projet, je le remplace par le type de local, il faudra remplacer le nom de la-dite variable" + $manager->persist($propertysale); } - - - //} - - + if($cpt++%2751==0){// on limite le nombre de données acquise pour éviter une surcharge mémoire => meme en allouant 2G de memoire a php, l'acquisition de 100 000 données n'était pas possible + + $percent += 0.1; + $manager->flush(); + $manager->clear(); + echo $percent." done\n"; + //break;//fseek($file,0,SEEK_END); + } } - fclose($file); + echo "END"; $manager->flush(); + $manager->clear(); + fclose($file); + }