<?php
-require_once(CONST_BasePath.'/lib/init-cmd.php');
+require_once(CONST_LibDir.'/init-cmd.php');
+
+loadSettings(false);
$term_colors = array(
'green' => "\033[92m",
$oDB = new Nominatim\DB;
+function isReverseOnlyInstallation()
+{
+ global $oDB;
+ return !$oDB->tableExists('search_name');
+}
+
+
echo 'Checking database got created ... ';
-if ($oDB->databaseExists()) {
+if ($oDB->checkConnection()) {
$print_success();
} else {
$print_fail();
echo <<< END
Hints:
* Is the database server started?
- * Check the CONST_Database_DSN variable in build/settings/local.php
+ * Check the NOMINATIM_DATABASE_DSN variable in your local .env
* Try connecting to the database with the same settings
END;
'idx_placex_rank_address',
'idx_placex_pendingsector',
'idx_placex_parent_place_id',
- 'idx_placex_geometry_reverse_lookuppoint',
'idx_placex_geometry_reverse_lookuppolygon',
'idx_placex_geometry_reverse_placenode',
'idx_location_area_country_place_id',
'idx_osmline_parent_osm_id',
'idx_place_osm_unique',
'idx_postcode_id',
- 'idx_postcode_postcode',
-
- // sql/indices_search.src.sql
- 'idx_search_name_nameaddress_vector',
- 'idx_search_name_name_vector',
- 'idx_search_name_centroid'
+ 'idx_postcode_postcode'
);
+if (!isReverseOnlyInstallation()) {
+ $aExpectedIndices = array_merge($aExpectedIndices, array(
+ // sql/indices_search.src.sql
+ 'idx_search_name_nameaddress_vector',
+ 'idx_search_name_name_vector',
+ 'idx_search_name_centroid'
+ ));
+}
foreach ($aExpectedIndices as $sExpectedIndex) {
echo "Checking index $sExpectedIndex ... ";
$print_fail();
echo <<< END
Hints:
- * Rerun the setup.php --create-search-indices step
+ * Run './utils/setup.php --create-search-indices --ignore-errors' to
+ create missing indices.
END;
exit(1);
$print_fail();
echo <<< END
At least one index is invalid. That can happen, e.g. when index creation was
- disrupted and later restarted. You should run the index stage of setup again.
+ disrupted and later restarted. You should delete the affected indices and
+ run the index stage of setup again.
See the question 'Can a stopped/killed import process be resumed?' in the
troubleshooting guide.
Affected indices:
-if (CONST_Use_US_Tiger_Data) {
+if (getSettingBool('USE_US_TIGER_DATA')) {
echo 'Checking TIGER table exists ... ';
if ($oDB->tableExists('location_property_tiger')) {
$print_success();