Ejemplo n.º 1
0
 public function testDumpSchemaWithNormalConfiguration()
 {
     $outputBuffer = new BufferedOutput();
     $dumper = new Dumper($outputBuffer);
     $this->dbMock->expects($this->any())->method('fetchColumn')->willReturn('CREATE TABLE statement');
     $dumper->dumpSchema('test', $this->dbMock);
     $output = $outputBuffer->fetch();
     $this->assertContains('DROP TABLE IF EXISTS', $output);
     $this->assertContains('CREATE TABLE statement', $output);
 }
Ejemplo n.º 2
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();
 }