PackageRelation: fix primary key relationships

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-07-18 01:57:00 -07:00
parent b4e46450b5
commit 13b4dbf541
2 changed files with 9 additions and 9 deletions

View file

@ -1,4 +1,4 @@
from sqlalchemy import Column, ForeignKey, Integer from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import backref, relationship from sqlalchemy.orm import backref, relationship
@ -26,7 +26,9 @@ class PackageRelation(Base):
"RelationType", backref=backref("package_relations", lazy="dynamic"), "RelationType", backref=backref("package_relations", lazy="dynamic"),
foreign_keys=[RelTypeID]) foreign_keys=[RelTypeID])
__mapper_args__ = {"primary_key": [PackageID, RelTypeID]} RelName = Column(String(255), unique=True)
__mapper_args__ = {"primary_key": [PackageID, RelName]}
def __init__(self, def __init__(self,
Package: aurweb.models.package.Package = None, Package: aurweb.models.package.Package = None,

View file

@ -2,7 +2,7 @@ import pytest
from sqlalchemy.exc import IntegrityError, OperationalError from sqlalchemy.exc import IntegrityError, OperationalError
from aurweb.db import create, query from aurweb.db import commit, create, query
from aurweb.models.account_type import AccountType from aurweb.models.account_type import AccountType
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
@ -48,9 +48,8 @@ def test_package_relation():
assert pkgrel in package.package_relations assert pkgrel in package.package_relations
provides = query(RelationType, RelationType.Name == "provides").first() provides = query(RelationType, RelationType.Name == "provides").first()
pkgrel = create(PackageRelation, Package=package, pkgrel.RelationType = provides
RelationType=provides, commit()
RelName="test-relation")
assert pkgrel.RelName == "test-relation" assert pkgrel.RelName == "test-relation"
assert pkgrel.Package == package assert pkgrel.Package == package
assert pkgrel.RelationType == provides assert pkgrel.RelationType == provides
@ -58,9 +57,8 @@ def test_package_relation():
assert pkgrel in package.package_relations assert pkgrel in package.package_relations
replaces = query(RelationType, RelationType.Name == "replaces").first() replaces = query(RelationType, RelationType.Name == "replaces").first()
pkgrel = create(PackageRelation, Package=package, pkgrel.RelationType = replaces
RelationType=replaces, commit()
RelName="test-relation")
assert pkgrel.RelName == "test-relation" assert pkgrel.RelName == "test-relation"
assert pkgrel.Package == package assert pkgrel.Package == package
assert pkgrel.RelationType == replaces assert pkgrel.RelationType == replaces