From a3d7a37c8e309010ddcbf70372dae27e1ff0c810 Mon Sep 17 00:00:00 2001 From: Sergey Golitsynskiy Date: Wed, 20 Oct 2021 13:09:47 -0400 Subject: [PATCH] Map RepositoryDependency declaratively --- lib/galaxy/model/tool_shed_install/__init__.py | 9 ++++++++- lib/galaxy/model/tool_shed_install/mapping.py | 10 ---------- test/unit/data/model/test_install_model_mapping.py | 3 +-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/galaxy/model/tool_shed_install/__init__.py b/lib/galaxy/model/tool_shed_install/__init__.py index b8510605857..ffd97f7fd6f 100644 --- a/lib/galaxy/model/tool_shed_install/__init__.py +++ b/lib/galaxy/model/tool_shed_install/__init__.py @@ -524,7 +524,14 @@ class RepositoryRepositoryDependencyAssociation(Base, _HasTable): self.repository_dependency_id = repository_dependency_id -class RepositoryDependency(_HasTable): +class RepositoryDependency(Base, _HasTable): + __tablename__ = 'repository_dependency' + + id = Column(Integer, primary_key=True) + create_time = Column(DateTime, default=now) + update_time = Column(DateTime, default=now, onupdate=now) + tool_shed_repository_id = Column(Integer, ForeignKey('tool_shed_repository.id'), index=True, nullable=False) + repository = relationship('ToolShedRepository') def __init__(self, tool_shed_repository_id=None): self.tool_shed_repository_id = tool_shed_repository_id diff --git a/lib/galaxy/model/tool_shed_install/mapping.py b/lib/galaxy/model/tool_shed_install/mapping.py index c54d837bb8c..60b8dba5e0d 100644 --- a/lib/galaxy/model/tool_shed_install/mapping.py +++ b/lib/galaxy/model/tool_shed_install/mapping.py @@ -42,12 +42,6 @@ install_model.ToolShedRepository.table = Table("tool_shed_repository", metadata, Column("status", TrimmedString(255)), Column("error_message", TEXT)) -install_model.RepositoryDependency.table = Table("repository_dependency", metadata, - Column("id", Integer, primary_key=True), - Column("create_time", DateTime, default=now), - Column("update_time", DateTime, default=now, onupdate=now), - Column("tool_shed_repository_id", Integer, ForeignKey("tool_shed_repository.id"), index=True, nullable=False)) - install_model.ToolDependency.table = Table("tool_dependency", metadata, Column("id", Integer, primary_key=True), Column("create_time", DateTime, default=now), @@ -82,10 +76,6 @@ mapper_registry.map_imperatively(install_model.ToolShedRepository, install_model required_repositories=relation(install_model.RepositoryRepositoryDependencyAssociation, primaryjoin=(install_model.ToolShedRepository.table.c.id == install_model.RepositoryRepositoryDependencyAssociation.tool_shed_repository_id)))) -mapper_registry.map_imperatively(install_model.RepositoryDependency, install_model.RepositoryDependency.table, - properties=dict(repository=relation(install_model.ToolShedRepository, - primaryjoin=(install_model.RepositoryDependency.table.c.tool_shed_repository_id == install_model.ToolShedRepository.table.c.id)))) - mapper_registry.map_imperatively(install_model.ToolDependency, install_model.ToolDependency.table) mapper_registry.map_imperatively(install_model.ToolVersion, install_model.ToolVersion.table, diff --git a/test/unit/data/model/test_install_model_mapping.py b/test/unit/data/model/test_install_model_mapping.py index d4b7d5c7460..0837a79a024 100644 --- a/test/unit/data/model/test_install_model_mapping.py +++ b/test/unit/data/model/test_install_model_mapping.py @@ -144,8 +144,7 @@ class TestRepositoryRepositoryDependencyAssociation(BaseTest): class TestRepositoryDependency(BaseTest): def test_table(self, cls_): - assert cls_.table.name == 'repository_dependency' - # assert cls_.__tablename__ == 'repository_dependency' # TODO + assert cls_.__tablename__ == 'repository_dependency' def test_columns(self, session, cls_, repository): create_time = datetime.now()