Map RepositoryDependency declaratively

This commit is contained in:
Sergey Golitsynskiy
2021-10-20 13:09:47 -04:00
parent 86a30bc0ff
commit a3d7a37c8e
3 changed files with 9 additions and 13 deletions
@@ -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
@@ -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,
@@ -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()