diff --git a/src/ahriman/core/database/migrations/m011_repository_name.py b/src/ahriman/core/database/migrations/m011_repository_name.py index a567fe56..cedb077c 100644 --- a/src/ahriman/core/database/migrations/m011_repository_name.py +++ b/src/ahriman/core/database/migrations/m011_repository_name.py @@ -203,6 +203,8 @@ def migrate_package_repository(connection: Connection, configuration: Configurat configuration(Configuration): configuration instance """ _, repository_id = configuration.check_loaded() + if repository_id.is_empty: + return # no repository available yet connection.execute("""update build_queue set repository = :repository""", {"repository": repository_id.id}) connection.execute("""update package_bases set repository = :repository""", {"repository": repository_id.id}) diff --git a/tests/ahriman/core/database/migrations/test_m011_repository_name.py b/tests/ahriman/core/database/migrations/test_m011_repository_name.py index 970d482e..e7053a7b 100644 --- a/tests/ahriman/core/database/migrations/test_m011_repository_name.py +++ b/tests/ahriman/core/database/migrations/test_m011_repository_name.py @@ -6,6 +6,7 @@ from unittest.mock import call as MockCall from ahriman.core.configuration import Configuration from ahriman.core.database.migrations.m011_repository_name import migrate_data, migrate_package_repository, steps +from ahriman.models.repository_id import RepositoryId def test_migration_repository_name() -> None: @@ -37,3 +38,13 @@ def test_migrate_package_repository(connection: Connection, configuration: Confi MockCall(pytest.helpers.anyvar(str, strict=True), {"repository": configuration.repository_id.id}), MockCall(pytest.helpers.anyvar(str, strict=True), {"repository": configuration.repository_id.id}), ]) + + +def test_migrate_package_repository_empty_id(connection: Connection, configuration: Configuration, + mocker: MockerFixture) -> None: + """ + must do nothing on empty repository id + """ + mocker.patch("ahriman.core.configuration.Configuration.check_loaded", return_value=("", RepositoryId("", ""))) + migrate_package_repository(connection, configuration) + connection.execute.assert_not_called()