Пример #1
0
 /**
  * @param Config $config
  * @param Connection $db
  * @param OutputInterface $output
  * @throws \Doctrine\DBAL\DBALException
  */
 public function dump(Config $config, Connection $db, OutputInterface $output)
 {
     $dumper = new Dumper($output);
     $dumper->exportAsUTF8();
     $dumper->disableForeignKeys();
     $platform = $db->getDatabasePlatform();
     $fetchTablesResult = $db->query($platform->getListTablesSQL());
     while ($tableName = $fetchTablesResult->fetchColumn(0)) {
         $tableConfig = $config->findTable($tableName);
         if (null === $tableConfig) {
             continue;
         }
         if ($tableConfig->isSchemaDumpRequired()) {
             $dumper->dumpSchema($tableName, $db, $tableConfig->keepAutoIncrement());
             if ($tableConfig->isDataDumpRequired()) {
                 $dumper->dumpData($tableName, $tableConfig, $db);
             }
         }
     }
     $dumper->enableForeignKeys();
 }