diff --git a/swh/storage/postgresql/storage.py b/swh/storage/postgresql/storage.py --- a/swh/storage/postgresql/storage.py +++ b/swh/storage/postgresql/storage.py @@ -160,6 +160,9 @@ if not self.objstorage.check_config(check_write=check_write): return False + if not db.check_dbversion(): + return False + # Check permissions on one of the tables if check_write: check = "INSERT" diff --git a/swh/storage/tests/test_postgresql.py b/swh/storage/tests/test_postgresql.py --- a/swh/storage/tests/test_postgresql.py +++ b/swh/storage/tests/test_postgresql.py @@ -264,3 +264,12 @@ monkeypatch.setattr(Db, "current_version", -1) with swh_storage.db() as db: assert db.check_dbversion() is False + + def test_check_config(self, swh_storage): + assert swh_storage.check_config(check_write=True) + assert swh_storage.check_config(check_write=False) + + def test_check_config_dbversion(self, swh_storage, monkeypatch): + monkeypatch.setattr(Db, "current_version", -1) + assert swh_storage.check_config(check_write=True) is False + assert swh_storage.check_config(check_write=False) is False