X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/dd03aeb966c2a101759d447a0fa00340812c89da..f356a75a2477d8638204b864df7403d2488c0e9a:/lib-php/admin/setup.php diff --git a/lib-php/admin/setup.php b/lib-php/admin/setup.php index 3aa6b828..7523527a 100644 --- a/lib-php/admin/setup.php +++ b/lib-php/admin/setup.php @@ -57,23 +57,24 @@ setupHTTPProxy(); $bDidSomething = false; $oNominatimCmd = new \Nominatim\Shell(getSetting('NOMINATIM_TOOL')); -if (isset($aCMDResult['quiet']) && $aCMDResult['quiet']) { - $oNominatimCmd->addParams('--quiet'); -} -if ($aCMDResult['verbose']) { - $oNominatimCmd->addParams('--verbose'); -} // by default, use all but one processor, but never more than 15. $iInstances = max(1, $aCMDResult['threads'] ?? (min(16, getProcessorCount()) - 1)); -function run($oCmd) { +function run($oCmd) +{ global $iInstances; global $aCMDResult; $oCmd->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); } @@ -122,24 +123,28 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) { if ($aCMDResult['create-functions'] || $aCMDResult['all']) { $bDidSomething = true; - $oSetup->createFunctions(); + $oSetup->createSqlFunctions(); } if ($aCMDResult['create-tables'] || $aCMDResult['all']) { $bDidSomething = true; - $oSetup->createTables($aCMDResult['reverse-only']); - $oSetup->createFunctions(); - $oSetup->createTableTriggers(); + $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; - $oSetup->createPartitionTables(); + run((clone($oNominatimCmd))->addParams('transition', '--create-partition-tables')); } if ($aCMDResult['create-partition-functions'] || $aCMDResult['all']) { $bDidSomething = true; - $oSetup->createFunctions(); // also create partition functions + $oSetup->createSqlFunctions(); // also create partition functions } if ($aCMDResult['import-wikipedia-articles'] || $aCMDResult['all']) { @@ -156,7 +161,7 @@ if ($aCMDResult['load-data'] || $aCMDResult['all']) { if ($aCMDResult['import-tiger-data']) { $bDidSomething = true; $sTigerPath = getSetting('TIGER_DATA_PATH', CONST_InstallDir.'/tiger'); - $oSetup->importTigerData($sTigerPath); + run((clone($oNominatimCmd))->addParams('transition', '--tiger-data', $sTigerPath)); } if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { @@ -181,12 +186,19 @@ if ($aCMDResult['drop']) { if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) { $bDidSomething = true; - $oSetup->createSearchIndices(); + + $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; - $oSetup->createCountryNames($aCMDResult); + run(clone($oNominatimCmd))->addParams('transition', '--create-country-names'); } if ($aCMDResult['setup-website'] || $aCMDResult['all']) {