mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
PackageDependency: fix primary key relationships
Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
ec38d2f5a0
commit
b4e46450b5
2 changed files with 13 additions and 14 deletions
|
@ -1,4 +1,4 @@
|
|||
from sqlalchemy import Column, ForeignKey, Integer
|
||||
from sqlalchemy import Column, ForeignKey, Integer, String
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.orm import backref, relationship
|
||||
|
||||
|
@ -16,7 +16,7 @@ class PackageDependency(Base):
|
|||
nullable=False)
|
||||
Package = relationship(
|
||||
"Package", backref=backref("package_dependencies", lazy="dynamic"),
|
||||
foreign_keys=[PackageID], lazy="select")
|
||||
foreign_keys=[PackageID])
|
||||
|
||||
DepTypeID = Column(
|
||||
Integer, ForeignKey("DependencyTypes.ID", ondelete="NO ACTION"),
|
||||
|
@ -24,9 +24,11 @@ class PackageDependency(Base):
|
|||
DependencyType = relationship(
|
||||
"DependencyType",
|
||||
backref=backref("package_dependencies", lazy="dynamic"),
|
||||
foreign_keys=[DepTypeID], lazy="select")
|
||||
foreign_keys=[DepTypeID])
|
||||
|
||||
__mapper_args__ = {"primary_key": [PackageID, DepTypeID]}
|
||||
DepName = Column(String(255), nullable=False)
|
||||
|
||||
__mapper_args__ = {"primary_key": [PackageID, DepName]}
|
||||
|
||||
def __init__(self,
|
||||
Package: aurweb.models.package.Package = None,
|
||||
|
|
|
@ -2,7 +2,7 @@ import pytest
|
|||
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
|
||||
from aurweb.db import create, query
|
||||
from aurweb.db import commit, create, query
|
||||
from aurweb.models.account_type import AccountType
|
||||
from aurweb.models.dependency_type import DependencyType
|
||||
from aurweb.models.package import Package
|
||||
|
@ -49,9 +49,8 @@ def test_package_dependencies():
|
|||
|
||||
makedepends = query(DependencyType,
|
||||
DependencyType.Name == "makedepends").first()
|
||||
pkgdep = create(PackageDependency, Package=package,
|
||||
DependencyType=makedepends,
|
||||
DepName="test-dep")
|
||||
pkgdep.DependencyType = makedepends
|
||||
commit()
|
||||
assert pkgdep.DepName == "test-dep"
|
||||
assert pkgdep.Package == package
|
||||
assert pkgdep.DependencyType == makedepends
|
||||
|
@ -60,9 +59,8 @@ def test_package_dependencies():
|
|||
|
||||
checkdepends = query(DependencyType,
|
||||
DependencyType.Name == "checkdepends").first()
|
||||
pkgdep = create(PackageDependency, Package=package,
|
||||
DependencyType=checkdepends,
|
||||
DepName="test-dep")
|
||||
pkgdep.DependencyType = checkdepends
|
||||
commit()
|
||||
assert pkgdep.DepName == "test-dep"
|
||||
assert pkgdep.Package == package
|
||||
assert pkgdep.DependencyType == checkdepends
|
||||
|
@ -71,9 +69,8 @@ def test_package_dependencies():
|
|||
|
||||
optdepends = query(DependencyType,
|
||||
DependencyType.Name == "optdepends").first()
|
||||
pkgdep = create(PackageDependency, Package=package,
|
||||
DependencyType=optdepends,
|
||||
DepName="test-dep")
|
||||
pkgdep.DependencyType = optdepends
|
||||
commit()
|
||||
assert pkgdep.DepName == "test-dep"
|
||||
assert pkgdep.Package == package
|
||||
assert pkgdep.DependencyType == optdepends
|
||||
|
|
Loading…
Add table
Reference in a new issue