Skip to content

Commit

Permalink
add unique constraints separately, as it needs the probability fields…
Browse files Browse the repository at this point in the history
… as well

Signed-off-by: Nicolas Höning <nicolas@seita.nl>
  • Loading branch information
nhoening committed Feb 28, 2024
1 parent fc1587c commit a90c932
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions timely_beliefs/beliefs/classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
from sqlalchemy.ext.hybrid import hybrid_method, hybrid_property
from sqlalchemy.orm import Session, backref, declarative_mixin, relationship
from sqlalchemy.orm.util import AliasedClass
from sqlalchemy.schema import Index
from sqlalchemy.schema import Index, UniqueConstraint
from sqlalchemy.sql.elements import BinaryExpression
from sqlalchemy.sql.expression import Selectable

Expand Down Expand Up @@ -184,13 +184,20 @@ class TimedBeliefDBMixin(TimedBelief):
@declared_attr
def __table_args__(cls):
return (
UniqueConstraint(
"event_start",
"belief_horizon",
"sensor_id",
"source_id",
"cumulative_probability",
name=f"{cls.__tablename__}_one_belief_by_one_source_uc",
),
Index(
f"{cls.__tablename__}_quad_unique_and_search_idx",
f"{cls.__tablename__}_quad_search_idx",
"event_start",
"source_id",
"sensor_id",
"belief_horizon",
unique=True,
),
)

Expand Down

0 comments on commit a90c932

Please sign in to comment.