/**
* @see sfTask
*/
protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);
if (count($arguments['dir_or_file'])) {
$fixturesDirs = $arguments['dir_or_file'];
} else {
$fixturesDirs = array_merge(array(sfConfig::get('sf_data_dir') . '/fixtures'), $this->configuration->getPluginSubPaths('/data/fixtures'));
}
$data = new sfPropelData();
$data->initialize($this->dispatcher, $this->formatter);
$data->setDeleteCurrentData(!$options['append']);
$dirs = array();
foreach ($fixturesDirs as $fixturesDir) {
if (!is_readable($fixturesDir)) {
continue;
}
$this->logSection('propel', sprintf('load data from "%s"', $fixturesDir));
$dirs[] = $fixturesDir;
}
$data->loadData($dirs, $options['connection']);
}