2222use  Doctrine \DBAL \Tools \Console \Helper \ConnectionHelper ;
2323use  Doctrine \DBAL \Migrations \Configuration \Configuration ;
2424use  Symfony \Bundle \DoctrineMigrationsBundle \SQLLogger \FixturesToMigrationSQLLogger ;
25+ use  Symfony \Bundle \DoctrineMigrationsBundle \Command \DoctrineCommand ;
2526
2627/** 
2728 * Command for generating a Doctrine database migration class from a set of fixtures. 
@@ -56,13 +57,14 @@ public function execute(InputInterface $input, OutputInterface $output)
5657
5758 DoctrineCommand::setApplicationEntityManager ($ this application , $ emName
5859
60+  $ configuration$ this getMigrationConfiguration ($ input$ output
61+  DoctrineCommand::configureMigrations ($ this application ->getKernel ()->getContainer (), $ configuration
62+ 
5963 $ emServiceNamesprintf ('doctrine.orm.%s_entity_manager ' , $ emName
6064 $ em$ containerget ($ emServiceName
6165
6266 $ emgetConnection ()->getConfiguration ()->setSQLLogger ($ sqlLogger
6367
64-  $ configuration$ this getMigrationConfiguration ($ input$ output
65- 
6668 $ dirOrFile$ inputgetOption ('fixtures ' );
6769 if  ($ dirOrFile
6870 $ pathsis_array ($ dirOrFile$ dirOrFilearray ($ dirOrFile
@@ -88,10 +90,23 @@ public function execute(InputInterface $input, OutputInterface $output)
8890 $ executorexecute ($ fixtures
8991
9092 $ queries$ sqlLoggergetQueries ();
93+  foreach  ($ queriesas  $ key$ query
94+  foreach  ($ query1 ] as  $ key2$ param
95+  if  (is_object ($ param
96+  if  ($ paraminstanceOf  \DateTime) {
97+  $ queries$ key1 ][$ key2$ paramformat ('Y-m-d\TH:i:s\Z ' );
98+  } else  if  (in_array ('__toString ' , get_class_methods ($ param
99+  $ queries$ key1 ][$ key2string )$ param
100+  } else  {
101+  $ outputwriteln (sprintf (' <comment>></comment> <info>cannot convert object of type %s to a string</info> ' , get_class ($ param
102+  }
103+  }
104+  }
105+  }
91106
92107 $ outputwriteln (sprintf (' <comment>></comment> <info>%s queries logged</info> ' , count ($ queries
93108 foreach  ($ queriesas  $ query
94-  $ outputwriteln (sprintf (' <comment>-</comment> <info>%s (%s)</info> ' , $ query0 ], implode ( ' , ' ,  $ query1 ])));  
109+  $ outputwriteln (sprintf (' <comment>-</comment> <info>%s (parameters?  %s)</info> ' , $ query0 ], is_array ( $ query1 ]) ?  ' yes '  :  ' no ' )); 
95110 }
96111
97112 $ versiondate ('YmdHis ' );
@@ -110,8 +125,8 @@ private function buildCodeFromSql(Configuration $configuration, array $queries)
110125 if  (strpos ($ query0 ], $ configurationgetMigrationsTableName ()) !== false ) {
111126 continue ;
112127 }
113-  $ codesprintf ("\$this->_addSql ( \"%s \", %s); " , $ query0 ], var_export ($ query1 ], true ));
128+  $ codesprintf ("\$this->addSql ( \"%s \", %s); " , $ query0 ], var_export ($ query1 ], true ));
114129 }
115130 return  implode ("\n" , $ code
116131 }
117- }
132+ }
0 commit comments