# Package
- pkg = sqlalchemy.orm.relationship("Package",
- foreign_keys=[pkg_id], back_populates="builds", lazy="selectin")
+ pkg = sqlalchemy.orm.relationship("Package", foreign_keys=[pkg_id], lazy="selectin")
@property
def name(self):
uuid = Column(UUID, nullable=False)
- # Build
-
- builds = sqlalchemy.orm.relationship("Build", back_populates="pkg", lazy="selectin")
-
# Created At
created_at = Column(
} for file in filelist),
)
- @lazy_property
- async def XXXbuilds(self):
- builds = await self.backend.builds._get_builds("""
- SELECT
- *
- FROM
- builds
- WHERE
- deleted_at IS NULL
- AND
- pkg_id = %s
- ORDER BY
- created_at DESC""",
- self.id,
+ async def get_builds(self, limit=None, offset=None):
+ stmt = (
+ sqlalchemy
+ .select(
+ builds.Build,
+ )
+ .where(
+ builds.Build.deleted_at == None,
+ builds.Build.pkg == self,
+ )
+ .order_by(
+ builds.Build.created_at.desc(),
+ )
+ .limit(limit)
+ .offset(offset)
)
- return list(builds)
+ return await self.db.fetch_as_list(stmt)
@lazy_property
def job(self):