From 82216ebf8be3677054474743c2814faebbf9b378 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Sat, 1 Jul 2023 18:13:30 +0200 Subject: [PATCH] always run function update on migrations This means that we can have migrations which require nothing but an update of the functions. --- nominatim/tools/migration.py | 11 ++++------- test/python/tools/test_migration.py | 14 -------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/nominatim/tools/migration.py b/nominatim/tools/migration.py index 0c88493b..ffeb4958 100644 --- a/nominatim/tools/migration.py +++ b/nominatim/tools/migration.py @@ -46,7 +46,6 @@ def migrate(config: Configuration, paths: Any) -> int: db_version = _guess_version(conn) - has_run_migration = False for version, func in _MIGRATION_FUNCTIONS: if db_version < version or \ (db_version == (3, 5, 0, 99) and version == (3, 5, 0, 99)): @@ -55,13 +54,11 @@ def migrate(config: Configuration, paths: Any) -> int: kwargs = dict(conn=conn, config=config, paths=paths) func(**kwargs) conn.commit() - has_run_migration = True - if has_run_migration: - LOG.warning('Updating SQL functions.') - refresh.create_functions(conn, config) - tokenizer = tokenizer_factory.get_tokenizer_for_db(config) - tokenizer.update_sql_functions(config) + LOG.warning('Updating SQL functions.') + refresh.create_functions(conn, config) + tokenizer = tokenizer_factory.get_tokenizer_for_db(config) + tokenizer.update_sql_functions(config) properties.set_property(conn, 'database_version', str(NOMINATIM_VERSION)) diff --git a/test/python/tools/test_migration.py b/test/python/tools/test_migration.py index d102b97d..88c7a4dd 100644 --- a/test/python/tools/test_migration.py +++ b/test/python/tools/test_migration.py @@ -71,20 +71,6 @@ def test_already_at_version(def_config, property_table): assert migration.migrate(def_config, {}) == 0 -def test_no_migrations_necessary(def_config, temp_db_cursor, property_table, - monkeypatch): - oldversion = [x for x in nominatim.version.NOMINATIM_VERSION] - oldversion[0] -= 1 - property_table.set('database_version', - '{0[0]}.{0[1]}.{0[2]}-{0[3]}'.format(oldversion)) - - oldversion[0] = 0 - monkeypatch.setattr(migration, '_MIGRATION_FUNCTIONS', - [(tuple(oldversion), lambda **attr: True)]) - - assert migration.migrate(def_config, {}) == 0 - - def test_run_single_migration(def_config, temp_db_cursor, property_table, monkeypatch, postprocess_mock): oldversion = [x for x in nominatim.version.NOMINATIM_VERSION] -- 2.39.5