]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Make the package mapping table accessible from other modules
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Jan 2025 16:58:00 +0000 (16:58 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Jan 2025 16:58:00 +0000 (16:58 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/jobs.py

index 2f9e644a2fe3d3909f706aff20eeafcbfdce0591..7bd2625aa175de75d1252acb099e201b45103d05 100644 (file)
@@ -27,6 +27,16 @@ from .errors import *
 # Setup logging
 log = logging.getLogger("pbs.jobs")
 
+JobPackage = sqlalchemy.Table(
+       "job_packages", database.Base.metadata,
+
+       # Job
+       Column("job_id", ForeignKey("jobs.id"), nullable=False),
+
+       # Package
+       Column("pkg_id", ForeignKey("packages.id"), nullable=False),
+)
+
 class Jobs(base.Object):
        connections = {}
 
@@ -434,17 +444,7 @@ class Job(database.Base, database.BackendMixin, database.SoftDeleteMixin):
 
        # Binary Packages
 
-       JobPackages = sqlalchemy.Table(
-               "job_packages", database.Base.metadata,
-
-               # Job
-               Column("job_id", ForeignKey("jobs.id")),
-
-               # Package
-               Column("pkg_id", ForeignKey("packages.id")),
-       )
-
-       packages = sqlalchemy.orm.relationship("Package", secondary=JobPackages, lazy="selectin")
+       packages = sqlalchemy.orm.relationship("Package", secondary=JobPackage, lazy="selectin")
 
        async def _import_packages(self, uploads):
                """