normlite.sql.reflection

Module Contents

class normlite.sql.reflection.ReflectedColumnInfo[source]

Bases: NamedTuple

name: str
type: normlite.sql.type_api.TypeEngine
id: str | None
value: Any | None
is_system: bool

True if the column is a system column.

Added in version 0.9.0: See refactoring in issue [#202](https://github.com/giant0791/normlite/issues/202)

class normlite.sql.reflection.ReflectedTableInfo(columns: Sequence[ReflectedColumnInfo])[source]
_colmap
_columns
property name: str
property id: str
property archived: True | None
property in_trash: True | None
get_user_columns() Sequence[ReflectedColumnInfo][source]
get_sys_columns() Sequence[ReflectedColumnInfo][source]
get_columns() Sequence[ReflectedColumnInfo][source]
get_reflectable_cols() Sequence[ReflectedColumnInfo][source]
get_column_names(include_all: bool | None = True) Sequence[str][source]
classmethod from_tuples(cols_as_tuples: Sequence[tuple]) ReflectedTableInfo[source]

Build a ReflectedTableInfo from a sequence of column-definition tuples.

Each row must provide:

(“column_name”, “column_type”, “column_id”, “metadata”, “is_system”)

Special columns carry table-level metadata via column_value.

classmethod from_dict(database_obj: dict) ReflectedTableInfo[source]