def apply_unique_constraints()

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