]> git.openstreetmap.org Git - nominatim.git/commitdiff
always run function update on migrations
authorSarah Hoffmann <lonvia@denofr.de>
Sat, 1 Jul 2023 16:13:30 +0000 (18:13 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Sat, 1 Jul 2023 18:18:59 +0000 (20:18 +0200)
This means that we can have migrations which require nothing but
an update of the functions.

nominatim/tools/migration.py
test/python/tools/test_migration.py

index 0c88493bfbd34567f2d6ec4fb9d02deca0217065..ffeb4958f409ce285e7fa8f91ba2d342ffe2cfe9 100644 (file)
@@ -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))
 
index d102b97da9d3ab10392810b15336e8c7ab281ae0..88c7a4dd7826a4f9a97a09455103fef6a1874971 100644 (file)
@@ -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]