mirror of
				https://github.com/arcan1s/ahriman.git
				synced 2025-11-04 07:43:42 +00:00 
			
		
		
		
	fix: fix migrations on empty repositories
This commit is contained in:
		@ -203,6 +203,8 @@ def migrate_package_repository(connection: Connection, configuration: Configurat
 | 
				
			|||||||
        configuration(Configuration): configuration instance
 | 
					        configuration(Configuration): configuration instance
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    _, repository_id = configuration.check_loaded()
 | 
					    _, 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 build_queue set repository = :repository""", {"repository": repository_id.id})
 | 
				
			||||||
    connection.execute("""update package_bases set repository = :repository""", {"repository": repository_id.id})
 | 
					    connection.execute("""update package_bases set repository = :repository""", {"repository": repository_id.id})
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,7 @@ from unittest.mock import call as MockCall
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
from ahriman.core.configuration import Configuration
 | 
					from ahriman.core.configuration import Configuration
 | 
				
			||||||
from ahriman.core.database.migrations.m011_repository_name import migrate_data, migrate_package_repository, steps
 | 
					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:
 | 
					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}),
 | 
				
			||||||
        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()
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user