*/ class ReloadDatabaseCommand extends BaseModuleGenerate { public function configure() { $this ->setName("thelia:dev:reloadDB") ->setDescription("erase current database and create new one") /* ->addOption( "load-fixtures", null, InputOption::VALUE_NONE, "load fixtures in databases" )*/ ; } public function execute(InputInterface $input, OutputInterface $output) { /** @var ConnectionWrapper $connection */ $connection = Propel::getConnection(ProductTableMap::DATABASE_NAME); $connection = $connection->getWrappedConnection(); $tables = $connection->query("SHOW TABLES"); $connection->query("SET FOREIGN_KEY_CHECKS = 0"); foreach ($tables as $table) { $connection->query(sprintf("DROP TABLE `%s`", $table[0])); } $connection->query("SET FOREIGN_KEY_CHECKS = 1"); $database = new Database($connection); $output->writeln(array( '', 'starting reloaded database, please wait' )); $database->insertSql(); $output->writeln(array( '', 'Database reloaded with success', '' )); } }