luminadb.column module

Column

class luminadb.column.BuilderColumn(_from_typelist: list[str] | None = None)[source]

Bases: object

Builder Column – Column Implementation using Builder Column

allow_null()[source]

Allow null

auto_increment() Self[source]

Enable auto increment for this column (only for integer).

default(default_value: Any)[source]

Set default value

foreign(source: str) Self[source]

Set foreign reference

on_delete(action: Literal['null', 'cascade', 'no act', 'default', 'restrict'])[source]

Set on delete action

on_update(action: Literal['null', 'cascade', 'no act', 'default', 'restrict'])[source]

Set on update action

primary() Self[source]

Set primary

set_type(name: str) Callable[[str], Self][source]

Set type from name, this will be handled by class’ type checking. This is a setup function. You need to do .set_type(type_name)(name) to do similiar effect to .integer(name) as for example

to_column()[source]

Conver from BuilderColumn to Column

unique() Self[source]

Set unique

class luminadb.column.Column[source]

Bases: object

tip: for foreign_ref, you can split with / to separate table and column name. e.g: user/id

property auto_increment

Auto increment enabled?

property default

Default value

property foreign

Is foreign enabled?

classmethod from_json(json: str)[source]

Convert JSON to a column

property name

Column Name

property nullable

Nullable

property on_delete

Delete setting

property on_update

Update setting

property primary

Is primary or not?

property raw_source

Source / Foreign Reference

property source

Source / Foreign Reference

property source_column

Source column / Foreign reference column

to_json()[source]

Convert column info as JSON

property type

Type

property unique

Is unique

luminadb.column.blob(name: str) BuilderColumn[source]

Create a blob column with name

luminadb.column.create_calls(typename: str, types: list[str]) Callable[[str], BuilderColumn][source]

Create a dynamic call for types. This is intended to mimic this module’s real(), text(), … with custom types.

luminadb.column.integer(name: str) BuilderColumn[source]

Create a integer column with name

luminadb.column.real(name: str) BuilderColumn[source]

Create a real column with name

luminadb.column.text(name: str) BuilderColumn[source]

Create a text column with name