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=[],
)
)