setName("keyword:update")
->setDescription("Update Keyword module");
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$connection = Propel::getConnection(\Keyword\Model\Map\KeywordTableMap::DATABASE_NAME);
$connection = $connection->getWrappedConnection();
$stmt = $connection->query("SELECT keyword_group_id, GROUP_CONCAT(keyword_id) keyword_ids
FROM `keyword_group_associated_keyword`
GROUP BY keyword_group_id");
$stmt->execute();
$output->writeln(array(
'',
'Starting update...'
));
foreach ($stmt->fetchAll() as $data) {
$msg = 'Insert of value ' . $data["keyword_group_id"] . ' into keyword_group_id field of keywords : ' . $data["keyword_ids"];
$stmt = $connection->query('UPDATE `keyword` SET keyword_group_id = ' . $data["keyword_group_id"] . ' WHERE id IN (' . $data["keyword_ids"] . ')');
$stmt->execute();
$output->writeln(array(
'',
'' . $msg . ''
));
}
$output->writeln(array(
'',
'Keyword table are now updated.'
));
$output->writeln(array(
'',
'Removing obsolete tables...'
));
$stmt = $connection->query("DROP TABLE IF EXISTS `keyword_group_associated_keyword`");
$stmt->execute();
$output->writeln(array(
'',
'Tables of the Keyword module are now updated.'
));
$output->writeln(array(
'',
'Update completed successfully !'
));
}
}