addParams('--threads', $iInstances); if ($aCMDResult['ignore-errors'] ?? false) { $oCmd->addParams('--ignore-errors'); } if ($aCMDResult['quiet'] ?? false) { $oCmd->addParams('--quiet'); } if ($aCMDResult['verbose'] ?? false) { $oCmd->addParams('--verbose'); } $oCmd->run(true); } //******************************************************* // Making some sanity check: // Check if osm-file is set and points to a valid file if ($aCMDResult['import-data'] || $aCMDResult['all']) { // to remain in /lib/setup_functions.php function checkInFile($aCMDResult['osm-file']); } // ****************************************************** // instantiate Setup class $oSetup = new SetupFunctions($aCMDResult); // ******************************************************* // go through complete process if 'all' is selected or start selected functions if ($aCMDResult['create-db'] || $aCMDResult['all']) { $bDidSomething = true; run((clone($oNominatimCmd))->addParams('transition', '--create-db')); } if ($aCMDResult['setup-db'] || $aCMDResult['all']) { $bDidSomething = true; $oCmd = (clone($oNominatimCmd))->addParams('transition', '--setup-db'); if ($aCMDResult['no-partitions'] ?? false) { $oCmd->addParams('--no-partitions'); } run($oCmd); } if ($aCMDResult['import-data'] || $aCMDResult['all']) { $bDidSomething = true; $oCmd = (clone($oNominatimCmd)) ->addParams('transition', '--import-data') ->addParams('--osm-file', $aCMDResult['osm-file']); if ($aCMDResult['drop'] ?? false) { $oCmd->addParams('--drop'); } run($oCmd); } if ($aCMDResult['create-functions'] || $aCMDResult['all']) { $bDidSomething = true; $oSetup->createSqlFunctions(); } if ($aCMDResult['create-tables'] || $aCMDResult['all']) { $bDidSomething = true; $oCmd = (clone($oNominatimCmd))->addParams('transition', '--create-tables'); if ($aCMDResult['reverse-only'] ?? false) { $oCmd->addParams('--reverse-only'); } run($oCmd); } if ($aCMDResult['create-partition-tables'] || $aCMDResult['all']) { $bDidSomething = true; run((clone($oNominatimCmd))->addParams('transition', '--create-partition-tables')); } if ($aCMDResult['create-partition-functions'] || $aCMDResult['all']) { $bDidSomething = true; $oSetup->createSqlFunctions(); // also create partition functions } if ($aCMDResult['import-wikipedia-articles'] || $aCMDResult['all']) { $bDidSomething = true; // ignore errors! (clone($oNominatimCmd))->addParams('refresh', '--wiki-data')->run(); } if ($aCMDResult['load-data'] || $aCMDResult['all']) { $bDidSomething = true; run((clone($oNominatimCmd))->addParams('transition', '--load-data')); } if ($aCMDResult['import-tiger-data']) { $bDidSomething = true; $sTigerPath = getSetting('TIGER_DATA_PATH', CONST_InstallDir.'/tiger'); run((clone($oNominatimCmd))->addParams('transition', '--tiger-data', $sTigerPath)); } if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { $bDidSomething = true; $oSetup->calculatePostcodes($aCMDResult['all']); } if ($aCMDResult['index'] || $aCMDResult['all']) { $bDidSomething = true; $oCmd = (clone($oNominatimCmd))->addParams('transition', '--index'); if ($aCMDResult['index-noanalyse'] ?? false) { $oCmd->addParams('--no-analyse'); } run($oCmd); } if ($aCMDResult['drop']) { $bDidSomething = true; run((clone($oNominatimCmd))->addParams('freeze')); } if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) { $bDidSomething = true; $oCmd = (clone($oNominatimCmd))->addParams('transition', '--create-search-indices'); if ($aCMDResult['drop'] ?? false) { $oCmd->addParams('--drop'); } run($oCmd); } if ($aCMDResult['create-country-names'] || $aCMDResult['all']) { $bDidSomething = true; run(clone($oNominatimCmd))->addParams('transition', '--create-country-names'); } if ($aCMDResult['setup-website'] || $aCMDResult['all']) { $bDidSomething = true; run((clone($oNominatimCmd))->addParams('refresh', '--website')); } // ****************************************************** // If we did something, repeat the warnings if (!$bDidSomething) { showUsage($aCMDOptions, true); } else { echo "Summary of warnings:\n\n"; repeatWarnings(); echo "\n"; info('Setup finished.'); }