fix(models.package_dependency): add DepTypeID to PKs

This was stopping us from using numerous records for each dep type.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2022-01-04 01:05:37 -08:00
parent 2cb9de0800
commit 8ffff6261b
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
2 changed files with 6 additions and 12 deletions

View file

@ -16,7 +16,11 @@ class PackageDependency(Base):
__table__ = schema.PackageDepends __table__ = schema.PackageDepends
__tablename__ = __table__.name __tablename__ = __table__.name
__mapper_args__ = { __mapper_args__ = {
"primary_key": [__table__.c.PackageID, __table__.c.DepName] "primary_key": [
__table__.c.PackageID,
__table__.c.DepTypeID,
__table__.c.DepName,
]
} }
Package = relationship( Package = relationship(

View file

@ -4,7 +4,7 @@ from sqlalchemy.exc import IntegrityError
from aurweb import db from aurweb import db
from aurweb.models.account_type import USER_ID from aurweb.models.account_type import USER_ID
from aurweb.models.dependency_type import CHECKDEPENDS_ID, DEPENDS_ID, MAKEDEPENDS_ID, OPTDEPENDS_ID from aurweb.models.dependency_type import DEPENDS_ID
from aurweb.models.package import Package from aurweb.models.package import Package
from aurweb.models.package_base import PackageBase from aurweb.models.package_base import PackageBase
from aurweb.models.package_dependency import PackageDependency from aurweb.models.package_dependency import PackageDependency
@ -42,16 +42,6 @@ def test_package_dependencies(user: User, package: Package):
assert pkgdep.DepName == "test-dep" assert pkgdep.DepName == "test-dep"
assert pkgdep.Package == package assert pkgdep.Package == package
assert pkgdep in package.package_dependencies assert pkgdep in package.package_dependencies
with db.begin():
pkgdep.DepTypeID = MAKEDEPENDS_ID
with db.begin():
pkgdep.DepTypeID = CHECKDEPENDS_ID
with db.begin():
pkgdep.DepTypeID = OPTDEPENDS_ID
assert not pkgdep.is_package() assert not pkgdep.is_package()
with db.begin(): with db.begin():