mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-09 11:03:17 +00:00
Fix #1489 : Let errors happen when they occur
This commit is contained in:
107
bin/console
107
bin/console
@@ -33,8 +33,7 @@ use Alchemy\Phrasea\Command\Setup\XSendFileConfigurationDumper;
|
||||
|
||||
require_once __DIR__ . '/../lib/autoload.php';
|
||||
|
||||
try {
|
||||
$cli = new CLI("
|
||||
$cli = new CLI("
|
||||
_____ _ _ _____ _____ ______ _ _ ______ _______
|
||||
| __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __|
|
||||
| |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | |
|
||||
@@ -52,60 +51,54 @@ try {
|
||||
under certain conditions; type `about:license' for details.\n\n"
|
||||
. ' KONSOLE KOMMANDER', Version::getName() . ' ' . Version::getNumber());
|
||||
|
||||
if (!$cli['phraseanet.configuration-tester']->isInstalled()) {
|
||||
throw new \RuntimeException('Phraseanet is not installed, use setup command instead');
|
||||
}
|
||||
if (!$cli['phraseanet.configuration-tester']->isUpToDate()) {
|
||||
throw new \RuntimeException('Phraseanet is not up-to-date, use setup command instead');
|
||||
}
|
||||
|
||||
$cli->command(new \module_console_aboutAuthors('about:authors'));
|
||||
$cli->command(new \module_console_aboutLicense('about:license'));
|
||||
|
||||
$cli->command(new CheckConfig('check:config'));
|
||||
$cli->command(new \module_console_checkExtension('check:extension'));
|
||||
|
||||
$cli->command(new UpgradeDBDatas('system:upgrade-datas'));
|
||||
|
||||
$cli->command(new \module_console_sphinxGenerateSuggestion('sphinx:generate-suggestions'));
|
||||
|
||||
$cli->command(new \module_console_systemMailCheck('system:mail-check'));
|
||||
$cli->command(new \module_console_systemBackupDB('system:backup-db'));
|
||||
$cli->command(new \module_console_systemClearCache('system:clear-cache'));
|
||||
$cli->command(new \module_console_systemExport('system:export'));
|
||||
|
||||
$cli->command(new \module_console_taskrun('task:run'));
|
||||
$cli->command(new \module_console_tasklist('task:list'));
|
||||
$cli->command(new \module_console_taskState('task:state'));
|
||||
$cli->command(new \module_console_schedulerState('scheduler:state'));
|
||||
$cli->command(new \module_console_schedulerStop('scheduler:stop'));
|
||||
$cli->command(new \module_console_schedulerStart('scheduler:start'));
|
||||
|
||||
$cli->command(new MailTest('mail:test'));
|
||||
|
||||
$cli->command(new \module_console_fieldsList('fields:list'));
|
||||
$cli->command(new \module_console_fieldsDelete('fields:delete'));
|
||||
$cli->command(new \module_console_fieldsRename('fields:rename'));
|
||||
$cli->command(new \module_console_fieldsMerge('fields:merge'));
|
||||
|
||||
$cli->command(new CreateCollection('collection:create'));
|
||||
|
||||
$cli->command(new RecordAdd('records:add'));
|
||||
$cli->command(new RescanTechnicalDatas('records:rescan-technical-datas'));
|
||||
$cli->command(new BuildMissingSubdefs('records:build-missing-subdefs'));
|
||||
|
||||
$cli->command(new AddPlugin());
|
||||
$cli->command(new RemovePlugin());
|
||||
$cli->command(new Configuration());
|
||||
$cli->command(new XSendFileConfigurationDumper());
|
||||
$cli->command(new XSendFileMappingGenerator());
|
||||
|
||||
$cli->loadPlugins();
|
||||
|
||||
$result_code = is_int($cli->run()) ? : 1;
|
||||
} catch (\Exception $e) {
|
||||
$result_code = 1;
|
||||
echo sprintf("\nAn error occured :\n\n\t\033[0;31m%s\033[0;37m\n\n", $e->getMessage());
|
||||
if (!$cli['phraseanet.configuration-tester']->isInstalled()) {
|
||||
throw new \RuntimeException('Phraseanet is not installed, use setup command instead');
|
||||
}
|
||||
if (!$cli['phraseanet.configuration-tester']->isUpToDate()) {
|
||||
throw new \RuntimeException('Phraseanet is not up-to-date, use setup command instead');
|
||||
}
|
||||
|
||||
exit($result_code);
|
||||
$cli->command(new \module_console_aboutAuthors('about:authors'));
|
||||
$cli->command(new \module_console_aboutLicense('about:license'));
|
||||
|
||||
$cli->command(new CheckConfig('check:config'));
|
||||
$cli->command(new \module_console_checkExtension('check:extension'));
|
||||
|
||||
$cli->command(new UpgradeDBDatas('system:upgrade-datas'));
|
||||
|
||||
$cli->command(new \module_console_sphinxGenerateSuggestion('sphinx:generate-suggestions'));
|
||||
|
||||
$cli->command(new \module_console_systemMailCheck('system:mail-check'));
|
||||
$cli->command(new \module_console_systemBackupDB('system:backup-db'));
|
||||
$cli->command(new \module_console_systemClearCache('system:clear-cache'));
|
||||
$cli->command(new \module_console_systemExport('system:export'));
|
||||
|
||||
$cli->command(new \module_console_taskrun('task:run'));
|
||||
$cli->command(new \module_console_tasklist('task:list'));
|
||||
$cli->command(new \module_console_taskState('task:state'));
|
||||
$cli->command(new \module_console_schedulerState('scheduler:state'));
|
||||
$cli->command(new \module_console_schedulerStop('scheduler:stop'));
|
||||
$cli->command(new \module_console_schedulerStart('scheduler:start'));
|
||||
|
||||
$cli->command(new MailTest('mail:test'));
|
||||
|
||||
$cli->command(new \module_console_fieldsList('fields:list'));
|
||||
$cli->command(new \module_console_fieldsDelete('fields:delete'));
|
||||
$cli->command(new \module_console_fieldsRename('fields:rename'));
|
||||
$cli->command(new \module_console_fieldsMerge('fields:merge'));
|
||||
|
||||
$cli->command(new CreateCollection('collection:create'));
|
||||
|
||||
$cli->command(new RecordAdd('records:add'));
|
||||
$cli->command(new RescanTechnicalDatas('records:rescan-technical-datas'));
|
||||
$cli->command(new BuildMissingSubdefs('records:build-missing-subdefs'));
|
||||
|
||||
$cli->command(new AddPlugin());
|
||||
$cli->command(new RemovePlugin());
|
||||
$cli->command(new Configuration());
|
||||
$cli->command(new XSendFileConfigurationDumper());
|
||||
$cli->command(new XSendFileMappingGenerator());
|
||||
|
||||
$cli->loadPlugins();
|
||||
|
||||
exit(is_int($cli->run()) ? : 1);
|
||||
|
@@ -44,8 +44,7 @@ use Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand;
|
||||
|
||||
require_once __DIR__ . '/../lib/autoload.php';
|
||||
|
||||
try {
|
||||
$cli = new CLI("
|
||||
$cli = new CLI("
|
||||
___ ___ _ _ ___ __ __ ___ ___ ___ ____ __ __ __ ___
|
||||
( \( _)( )( )( _)( ) / \( ,\( _)( ,) (_ _)/ \ / \( ) / __)
|
||||
) ) )) _) \\// ) _) )(__( () )) _/ ) _) ) \ )( ( () )( () ))(__ \__ \
|
||||
@@ -57,54 +56,48 @@ try {
|
||||
under certain conditions; type `about:license' for details.\n\n"
|
||||
. ' Phraseanet Developer Tools ', Version::getName() . ' ' . Version::getNumber());
|
||||
|
||||
if ($cli['phraseanet.configuration']->isSetup()) {
|
||||
$helpers = array(
|
||||
'db' => new ConnectionHelper($cli['EM']->getConnection()),
|
||||
'em' => new EntityManagerHelper($cli['EM'])
|
||||
);
|
||||
if ($cli['phraseanet.configuration']->isSetup()) {
|
||||
$helpers = array(
|
||||
'db' => new ConnectionHelper($cli['EM']->getConnection()),
|
||||
'em' => new EntityManagerHelper($cli['EM'])
|
||||
);
|
||||
|
||||
$helperSet = $cli['console']->getHelperSet();
|
||||
foreach ($helpers as $name => $helper) {
|
||||
$helperSet->set($helper, $name);
|
||||
}
|
||||
$helperSet = $cli['console']->getHelperSet();
|
||||
foreach ($helpers as $name => $helper) {
|
||||
$helperSet->set($helper, $name);
|
||||
}
|
||||
|
||||
$cli->command(new InstallAll());
|
||||
$cli->command(new BowerInstall());
|
||||
$cli->command(new ComposerInstall());
|
||||
$cli->command(new RegenerateSqliteDb());
|
||||
$cli->command(new APIRoutesDumper());
|
||||
$cli->command(new RoutesDumper());
|
||||
$cli->command(new Behat());
|
||||
$cli->command(new LessCompiler());
|
||||
$cli->command(new JavascriptBuilder());
|
||||
$cli->command(new \module_console_systemTemplateGenerator('system:generate-templates'));
|
||||
|
||||
$cli['console']->addCommands(array(
|
||||
// DBAL Commands
|
||||
new RunSqlCommand(),
|
||||
new ImportCommand(),
|
||||
// ORM Commands
|
||||
new MetadataCommand(),
|
||||
new ResultCommand(),
|
||||
new QueryCommand(),
|
||||
new CreateCommand(),
|
||||
new UpdateCommand(),
|
||||
new DropCommand(),
|
||||
new EnsureProductionSettingsCommand(),
|
||||
new ConvertDoctrine1SchemaCommand(),
|
||||
new GenerateRepositoriesCommand(),
|
||||
new GenerateEntitiesCommand(),
|
||||
new GenerateProxiesCommand(),
|
||||
new ConvertMappingCommand(),
|
||||
new RunDqlCommand(),
|
||||
new ValidateSchemaCommand(),
|
||||
));
|
||||
|
||||
$cli->runCLI();
|
||||
} catch (Exception $e) {
|
||||
echo "an error occured : " . $e->getMessage();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
exit(0);
|
||||
$cli->command(new InstallAll());
|
||||
$cli->command(new BowerInstall());
|
||||
$cli->command(new ComposerInstall());
|
||||
$cli->command(new RegenerateSqliteDb());
|
||||
$cli->command(new APIRoutesDumper());
|
||||
$cli->command(new RoutesDumper());
|
||||
$cli->command(new Behat());
|
||||
$cli->command(new LessCompiler());
|
||||
$cli->command(new JavascriptBuilder());
|
||||
$cli->command(new \module_console_systemTemplateGenerator('system:generate-templates'));
|
||||
|
||||
$cli['console']->addCommands(array(
|
||||
// DBAL Commands
|
||||
new RunSqlCommand(),
|
||||
new ImportCommand(),
|
||||
// ORM Commands
|
||||
new MetadataCommand(),
|
||||
new ResultCommand(),
|
||||
new QueryCommand(),
|
||||
new CreateCommand(),
|
||||
new UpdateCommand(),
|
||||
new DropCommand(),
|
||||
new EnsureProductionSettingsCommand(),
|
||||
new ConvertDoctrine1SchemaCommand(),
|
||||
new GenerateRepositoriesCommand(),
|
||||
new GenerateEntitiesCommand(),
|
||||
new GenerateProxiesCommand(),
|
||||
new ConvertMappingCommand(),
|
||||
new RunDqlCommand(),
|
||||
new ValidateSchemaCommand(),
|
||||
));
|
||||
|
||||
exit($cli->runCLI());
|
||||
|
43
bin/setup
43
bin/setup
@@ -25,8 +25,7 @@ use Alchemy\Phrasea\Command\Setup\CheckEnvironment;
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
try {
|
||||
$app = new CLI("
|
||||
$app = new CLI("
|
||||
_____ _ _ _____ _____ ______ _ _ ______ _______
|
||||
| __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __|
|
||||
| |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | |
|
||||
@@ -46,29 +45,23 @@ try {
|
||||
under certain conditions; type `about:license' for details.\n\n"
|
||||
. ' SETUP', Version::getName() . ' ' . Version::getNumber());
|
||||
|
||||
$app->command(new \module_console_aboutAuthors('about:authors'));
|
||||
$app->command(new \module_console_aboutLicense('about:license'));
|
||||
$app->command(new \module_console_aboutAuthors('about:authors'));
|
||||
$app->command(new \module_console_aboutLicense('about:license'));
|
||||
|
||||
if(
|
||||
$app['phraseanet.configuration-tester']->isMigrable()
|
||||
|| $app['phraseanet.configuration-tester']->isUpgradable()
|
||||
|| $app['phraseanet.configuration-tester']->isInstalled()
|
||||
) {
|
||||
$app->command(new \module_console_systemUpgrade('system:upgrade'));
|
||||
}
|
||||
|
||||
if ($app['phraseanet.configuration-tester']->isInstalled()) {
|
||||
$app->command(new UpgradeDBDatas('system:upgrade-datas'));
|
||||
}
|
||||
|
||||
$app->command(new PluginsReset());
|
||||
$app->command(new CheckEnvironment('check:system'));
|
||||
$app->command(new Install('system:install'));
|
||||
|
||||
$result_code = is_int($app->run()) ? : 1;
|
||||
} catch (\Exception $e) {
|
||||
$result_code = 1;
|
||||
echo sprintf("\nAn error occured :\n\n\t\033[0;31m%s\033[0;37m\n\n", $e->getMessage());
|
||||
if(
|
||||
$app['phraseanet.configuration-tester']->isMigrable()
|
||||
|| $app['phraseanet.configuration-tester']->isUpgradable()
|
||||
|| $app['phraseanet.configuration-tester']->isInstalled()
|
||||
) {
|
||||
$app->command(new \module_console_systemUpgrade('system:upgrade'));
|
||||
}
|
||||
|
||||
exit($result_code);
|
||||
if ($app['phraseanet.configuration-tester']->isInstalled()) {
|
||||
$app->command(new UpgradeDBDatas('system:upgrade-datas'));
|
||||
}
|
||||
|
||||
$app->command(new PluginsReset());
|
||||
$app->command(new CheckEnvironment('check:system'));
|
||||
$app->command(new Install('system:install'));
|
||||
|
||||
exit(is_int($app->run()) ? : 1);
|
||||
|
@@ -64,43 +64,38 @@ class module_console_systemUpgrade extends Command
|
||||
}
|
||||
|
||||
if ($continue == 'y') {
|
||||
try {
|
||||
$output->write('<info>Upgrading...</info>', true);
|
||||
$output->write('<info>Upgrading...</info>', true);
|
||||
|
||||
if (count(User_Adapter::get_wrong_email_users($this->container)) > 0) {
|
||||
return $output->writeln(sprintf('<error>You have to fix your database before upgrade with the system:mailCheck command </error>'));
|
||||
}
|
||||
if (count(User_Adapter::get_wrong_email_users($this->container)) > 0) {
|
||||
return $output->writeln(sprintf('<error>You have to fix your database before upgrade with the system:mailCheck command </error>'));
|
||||
}
|
||||
|
||||
$upgrader = new Setup_Upgrade($this->container, $input->getOption('force'));
|
||||
$upgrader = new Setup_Upgrade($this->container, $input->getOption('force'));
|
||||
|
||||
$queries = $this->getService('phraseanet.appbox')->forceUpgrade($upgrader, $this->container);
|
||||
$queries = $this->getService('phraseanet.appbox')->forceUpgrade($upgrader, $this->container);
|
||||
|
||||
if ($input->getOption('dump')) {
|
||||
if (0 < count($queries)) {
|
||||
$output->writeln("Some SQL queries can be executed to optimize\n");
|
||||
if ($input->getOption('dump')) {
|
||||
if (0 < count($queries)) {
|
||||
$output->writeln("Some SQL queries can be executed to optimize\n");
|
||||
|
||||
foreach ($queries as $query) {
|
||||
$output->writeln(" ".$query['sql']);
|
||||
}
|
||||
|
||||
$output->writeln("\n");
|
||||
} else {
|
||||
$output->writeln("No SQL queries to execute to optimize\n");
|
||||
foreach ($queries as $query) {
|
||||
$output->writeln(" ".$query['sql']);
|
||||
}
|
||||
|
||||
$output->writeln("\n");
|
||||
} else {
|
||||
$output->writeln("No SQL queries to execute to optimize\n");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($upgrader->getRecommendations() as $recommendation) {
|
||||
list($message, $command) = $recommendation;
|
||||
foreach ($upgrader->getRecommendations() as $recommendation) {
|
||||
list($message, $command) = $recommendation;
|
||||
|
||||
$output->writeln(sprintf('<info>%s</info>', $message));
|
||||
$output->writeln("");
|
||||
$output->writeln(sprintf("\t\t%s", $command));
|
||||
$output->writeln("");
|
||||
$output->writeln("");
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
|
||||
$output->writeln(sprintf('<error>An error occured while upgrading : %s </error>', $e->getMessage()));
|
||||
$output->writeln(sprintf('<info>%s</info>', $message));
|
||||
$output->writeln("");
|
||||
$output->writeln(sprintf("\t\t%s", $command));
|
||||
$output->writeln("");
|
||||
$output->writeln("");
|
||||
}
|
||||
} else {
|
||||
$output->write('<info>Canceled</info>', true);
|
||||
|
Reference in New Issue
Block a user