def apply_columns()

in src/databao_context_engine/plugins/databases/table_builder.py [0:0]


    def apply_columns(self, cols: list[dict] | None) -> None:
        cols_by_table = group_rows(cols, ("table_name",))
        for (table_name,), grp in cols_by_table.items():
            grp.sort(key=lambda r: (r.get("ordinal_position") is None, r.get("ordinal_position") or 0))
            t = self.get_or_create_table(table_name)
            for c in grp:
                t.columns.append(
                    DatabaseColumn(
                        name=c["column_name"],
                        type=c["data_type"],
                        nullable=bool(coerce_bool(c.get("is_nullable"), default=True)),
                        description=c.get("description"),
                        default_expression=c.get("default_expression"),
                        generated=c.get("generated"),
                        checks=[],
                    )
                )