in src/databao_context_engine/plugins/databases/table_builder.py [0:0]
def apply_unique_constraints(self, uq_cols: list[dict] | None) -> None:
uq_groups = group_rows(uq_cols, ("table_name", "constraint_name"))
by_table: dict[str, list[KeyConstraint]] = defaultdict(list)
for (table_name, cname), grp in uq_groups.items():
grp.sort(key=lambda r: sort_position_by_key(r, "position"))
by_table[table_name].append(
KeyConstraint(
name=cname,
columns=[r["column_name"] for r in grp if r.get("column_name") is not None],
validated=True,
)
)
for table_name, uqs in by_table.items():
self.get_or_create_table(table_name).unique_constraints = uqs