From f839cffc32111594bea8ba35dff79a2bc9883d2e Mon Sep 17 00:00:00 2001 From: Maximilian Moser <maximilian.moser@tuwien.ac.at> Date: Wed, 31 Jul 2024 14:23:57 +0200 Subject: [PATCH] Add a unique constraint for filenames per record --- formatscaper/models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/formatscaper/models.py b/formatscaper/models.py index 631c3ec..bcb9a69 100644 --- a/formatscaper/models.py +++ b/formatscaper/models.py @@ -1,7 +1,7 @@ import dataclasses from typing import List, Optional -from sqlalchemy import ForeignKey, create_engine +from sqlalchemy import ForeignKey, UniqueConstraint, create_engine from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column, relationship @@ -98,6 +98,9 @@ class Result(ModelBase): format_id: Mapped[Optional[int]] = mapped_column(ForeignKey("format.id")) format: Mapped[Format] = relationship(back_populates="results") + # filenames are unique per record + __table_args__ = (UniqueConstraint("record", "filename"),) + @property def risk(self): """Calculate the risk assessment for the file.""" -- GitLab