mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 21:43:18 +00:00
96 lines
3.4 KiB
PHP
Executable File
96 lines
3.4 KiB
PHP
Executable File
#!/usr/bin/env php
|
|
<?php
|
|
/*
|
|
* This file is part of Phraseanet
|
|
*
|
|
* (c) 2005-2010 Alchemy
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @package
|
|
* @package KonsoleKomander
|
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
|
* @link www.phraseanet.com
|
|
*/
|
|
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
|
|
use Symfony\Component\Console\Input\InputArgument;
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
use Symfony\Component\Console\Input\InputOption;
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
use Symfony\Component\Console\Application;
|
|
use Alchemy\Phrasea;
|
|
|
|
require_once dirname(__FILE__) . '/../lib/classes/bootstrap.class.php';
|
|
bootstrap::register_autoloads();
|
|
|
|
try
|
|
{
|
|
$handler = new \Alchemy\Phrasea\Core\Configuration\Handler(
|
|
new \Alchemy\Phrasea\Core\Configuration\Application(),
|
|
new \Alchemy\Phrasea\Core\Configuration\Parser\Yaml()
|
|
);
|
|
$configuration = new \Alchemy\Phrasea\Core\Configuration($handler);
|
|
|
|
$serviceName = $configuration->getOrm();
|
|
$confService = $configuration->getService($serviceName);
|
|
|
|
if($confService->get("type") !== 'doctrine')
|
|
{
|
|
exit(sprintf("Doctrine is not declared as your ORM but %s is", $confService->get("type")));
|
|
}
|
|
|
|
$ormServiceBuilder = new \Alchemy\Phrasea\Core\ServiceBuilder\Orm(
|
|
$serviceName
|
|
, $confService
|
|
, array('registry' => \registry::get_instance())
|
|
);
|
|
|
|
$ormService = $ormServiceBuilder->buildService();
|
|
$em = $ormService->getService();
|
|
/* @var $em \Doctrine\ORM\EntityManager */
|
|
|
|
$app = new Application("Phraseanet Doctrine Console", $ormService->getVersion());
|
|
|
|
$helpers = array(
|
|
'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
|
|
'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
|
|
);
|
|
|
|
$helperSet = $app->getHelperSet();
|
|
foreach ($helpers as $name => $helper)
|
|
{
|
|
$helperSet->set($helper, $name);
|
|
}
|
|
|
|
$app->addCommands(array(
|
|
// DBAL Commands
|
|
new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand(),
|
|
new \Doctrine\DBAL\Tools\Console\Command\ImportCommand(),
|
|
// ORM Commands
|
|
new \Doctrine\ORM\Tools\Console\Command\ClearCache\MetadataCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\ClearCache\QueryCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\SchemaTool\CreateCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\SchemaTool\DropCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\EnsureProductionSettingsCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\ConvertDoctrine1SchemaCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\GenerateRepositoriesCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\GenerateProxiesCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\RunDqlCommand(),
|
|
new \Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand(),
|
|
));
|
|
|
|
$app->run();
|
|
}
|
|
catch (Exception $e)
|
|
{
|
|
echo "an error occured : " . $e->getMessage();
|
|
}
|