mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-11 13:24:07 +00:00
Added --prepare-database flag
This commit is contained in:
committed by
Sarah Hoffmann
parent
ba5ec80611
commit
992703b15e
@@ -88,6 +88,7 @@ class NominatimArgs:
|
|||||||
ignore_errors: bool
|
ignore_errors: bool
|
||||||
index_noanalyse: bool
|
index_noanalyse: bool
|
||||||
no_superuser: bool
|
no_superuser: bool
|
||||||
|
prepare_database: bool
|
||||||
|
|
||||||
# Arguments to 'index'
|
# Arguments to 'index'
|
||||||
boundaries_only: bool
|
boundaries_only: bool
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ class SetupAll:
|
|||||||
help='Do not perform analyse operations during index (expert only)')
|
help='Do not perform analyse operations during index (expert only)')
|
||||||
group3.add_argument('--no-superuser', action='store_true',
|
group3.add_argument('--no-superuser', action='store_true',
|
||||||
help='Do not attempt to create the database')
|
help='Do not attempt to create the database')
|
||||||
|
group3.add_argument('--prepare-database', action='store_true',
|
||||||
|
help='Create the database but do not import any data')
|
||||||
|
|
||||||
|
|
||||||
def run(self, args: NominatimArgs) -> int: # pylint: disable=too-many-statements
|
def run(self, args: NominatimArgs) -> int: # pylint: disable=too-many-statements
|
||||||
@@ -82,38 +84,47 @@ class SetupAll:
|
|||||||
files = args.get_osm_file_list()
|
files = args.get_osm_file_list()
|
||||||
if not files:
|
if not files:
|
||||||
raise UsageError("No input files (use --osm-file).")
|
raise UsageError("No input files (use --osm-file).")
|
||||||
|
|
||||||
|
if args.no_superuser and args.prepare_database:
|
||||||
|
raise UsageError("Cannot use --no-superuser and --prepare-database together.")
|
||||||
|
|
||||||
if not args.no_superuser:
|
complete_import = not args.no_superuser and not args.prepare_database
|
||||||
|
|
||||||
|
if args.prepare_database or complete_import:
|
||||||
LOG.warning('Creating database')
|
LOG.warning('Creating database')
|
||||||
database_import.setup_database_skeleton(args.config.get_libpq_dsn(),
|
database_import.setup_database_skeleton(args.config.get_libpq_dsn(),
|
||||||
rouser=args.config.DATABASE_WEBUSER)
|
rouser=args.config.DATABASE_WEBUSER)
|
||||||
|
|
||||||
|
if not complete_import:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if not args.prepare_database or args.no_superuser or complete_import:
|
||||||
|
LOG.warning('Setting up country tables')
|
||||||
|
country_info.setup_country_tables(args.config.get_libpq_dsn(),
|
||||||
|
args.config.lib_dir.data,
|
||||||
|
args.no_partitions)
|
||||||
|
|
||||||
LOG.warning('Setting up country tables')
|
LOG.warning('Importing OSM data file')
|
||||||
country_info.setup_country_tables(args.config.get_libpq_dsn(),
|
database_import.import_osm_data(files,
|
||||||
args.config.lib_dir.data,
|
args.osm2pgsql_options(0, 1),
|
||||||
args.no_partitions)
|
drop=args.no_updates,
|
||||||
|
ignore_errors=args.ignore_errors)
|
||||||
|
|
||||||
LOG.warning('Importing OSM data file')
|
LOG.warning('Importing wikipedia importance data')
|
||||||
database_import.import_osm_data(files,
|
data_path = Path(args.config.WIKIPEDIA_DATA_PATH or args.project_dir)
|
||||||
args.osm2pgsql_options(0, 1),
|
if refresh.import_wikipedia_articles(args.config.get_libpq_dsn(),
|
||||||
drop=args.no_updates,
|
data_path) > 0:
|
||||||
ignore_errors=args.ignore_errors)
|
LOG.error('Wikipedia importance dump file not found. '
|
||||||
|
'Calculating importance values of locations will not '
|
||||||
|
'use Wikipedia importance data.')
|
||||||
|
|
||||||
LOG.warning('Importing wikipedia importance data')
|
LOG.warning('Importing secondary importance raster data')
|
||||||
data_path = Path(args.config.WIKIPEDIA_DATA_PATH or args.project_dir)
|
if refresh.import_secondary_importance(args.config.get_libpq_dsn(),
|
||||||
if refresh.import_wikipedia_articles(args.config.get_libpq_dsn(),
|
args.project_dir) != 0:
|
||||||
data_path) > 0:
|
LOG.error('Secondary importance file not imported. '
|
||||||
LOG.error('Wikipedia importance dump file not found. '
|
'Falling back to default ranking.')
|
||||||
'Calculating importance values of locations will not '
|
|
||||||
'use Wikipedia importance data.')
|
|
||||||
|
|
||||||
LOG.warning('Importing secondary importance raster data')
|
self._setup_tables(args.config, args.reverse_only)
|
||||||
if refresh.import_secondary_importance(args.config.get_libpq_dsn(),
|
|
||||||
args.project_dir) != 0:
|
|
||||||
LOG.error('Secondary importance file not imported. '
|
|
||||||
'Falling back to default ranking.')
|
|
||||||
|
|
||||||
self._setup_tables(args.config, args.reverse_only)
|
|
||||||
|
|
||||||
if args.continue_at is None or args.continue_at == 'load-data':
|
if args.continue_at is None or args.continue_at == 'load-data':
|
||||||
LOG.warning('Initialise tables')
|
LOG.warning('Initialise tables')
|
||||||
|
|||||||
Reference in New Issue
Block a user