Ejemplo n.º 1
0
 protected function executeSchemaCommand(InputInterface $input, OutputInterface $output, SchemaTool $schemaTool, array $metadatas)
 {
     if ($input->getOption('dump-sql') === true) {
         $sqls = $schemaTool->getDropSchemaSql($metadatas);
         $output->write(implode(';' . PHP_EOL, $sqls) . PHP_EOL);
     } else {
         $output->write('Dropping database schema...' . PHP_EOL);
         $schemaTool->dropSchema($metadatas);
         $output->write('Database schema dropped successfully!' . PHP_EOL);
     }
 }
Ejemplo n.º 2
0
 protected function executeSchemaCommand(InputInterface $input, OutputInterface $output, SchemaTool $schemaTool, array $metadatas)
 {
     if ($input->getOption('dump-sql') === true) {
         $sqls = $schemaTool->getDropSchemaSql($metadatas);
         $output->write(implode(';' . PHP_EOL, $sqls) . PHP_EOL);
     } else {
         if ($input->getOption('force') === true) {
             $output->write('Dropping database schema...' . PHP_EOL);
             $schemaTool->dropSchema($metadatas);
             $output->write('Database schema dropped successfully!' . PHP_EOL);
         } else {
             $sqls = $schemaTool->getDropSchemaSql($metadatas);
             if (count($sqls)) {
                 $output->write('Schema-Tool would execute ' . count($sqls) . ' queries to drop the database.' . PHP_EOL);
                 $output->write('Please run the operation with --force to execute these queries or use --dump-sql to see them.' . PHP_EOL);
             } else {
                 $output->write('Nothing to drop. The database is empty!' . PHP_EOL);
             }
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * @inheritdoc
  */
 public function run()
 {
     $arguments = $this->getArguments();
     $printer = $this->getPrinter();
     $isCreate = isset($arguments['create']) && $arguments['create'];
     $isDrop = isset($arguments['drop']) && $arguments['drop'];
     $isUpdate = isset($arguments['update']) && $arguments['update'];
     $isCompleteUpdate = isset($arguments['complete-update']) && $arguments['complete-update'];
     $em = $this->getConfiguration()->getAttribute('em');
     $cmf = $em->getMetadataFactory();
     $classes = $cmf->getAllMetadata();
     if (empty($classes)) {
         $printer->writeln('No classes to process.', 'INFO');
         return;
     }
     $tool = new SchemaTool($em);
     if ($isDrop) {
         if (isset($arguments['dump-sql'])) {
             foreach ($tool->getDropSchemaSql($classes) as $sql) {
                 $printer->writeln($sql . ";");
             }
         } else {
             $printer->writeln('Dropping database schema...', 'INFO');
             $tool->dropSchema($classes);
             $printer->writeln('Database schema dropped successfully.', 'INFO');
         }
     }
     if ($isCreate) {
         if (isset($arguments['dump-sql'])) {
             foreach ($tool->getCreateSchemaSql($classes) as $sql) {
                 $printer->writeln($sql . ";");
             }
         } else {
             $printer->writeln('Creating database schema...', 'INFO');
             $tool->createSchema($classes);
             $printer->writeln('Database schema created successfully.', 'INFO');
         }
     }
     if ($isUpdate || $isCompleteUpdate) {
         $saveMode = $isUpdate ? true : false;
         if (isset($arguments['dump-sql'])) {
             foreach ($tool->getUpdateSchemaSql($classes, $saveMode) as $sql) {
                 $printer->writeln($sql . ";");
             }
         } else {
             $printer->writeln('Updating database schema...', 'INFO');
             $tool->updateSchema($classes, $saveMode);
             $printer->writeln('Database schema updated successfully.', 'INFO');
         }
     }
 }