pyaccesskit.tables¶
pyaccesskit.tables ¶
Tables, fields and indexes: the db.tables collection and its handles.
Field ¶
Field(session: Session, table: Table, name: str)
A column of a table (a live, name-based handle).
Table ¶
Table(session: Session, name: str)
A table (a live, name-based handle). to_spec() returns an immutable snapshot.
indexes
property
¶
indexes: tuple[IndexSpec, ...]
The table's indexes (excluding the hidden ones owned by relationships).
connect
property
¶
connect: str | None
A linked table's connection string (None for local tables). It may contain credentials.
source_table
property
¶
source_table: str | None
A linked table's name in its source database (None for local tables).
add_column ¶
add_column(column: ColumnSpec) -> Field
Append a column (unique=/indexed=/primary_key= also create the index).
drop_column ¶
drop_column(name: str) -> None
Delete a column (drop its indexes and relationships first).
drop ¶
drop(*, drop_relationships: bool = False) -> None
Delete the table (with drop_relationships=True, its relationships first).
TableCollection ¶
TableCollection(session: Session)
db.tables: every local and linked table (system tables are hidden unless asked for).
create ¶
create(spec: TableSpec) -> Table
create(
name: str,
/,
*,
columns: Sequence[ColumnSpec],
indexes: Sequence[IndexSpec] = (),
primary_key: Sequence[str] | str | None = None,
description: str | None = None,
validation_rule: str | None = None,
validation_text: str | None = None,
properties: Mapping[str, PropertyValue] | None = None,
) -> Table
create(
spec_or_name: TableSpec | str,
/,
*,
columns: Sequence[ColumnSpec] | None = None,
indexes: Sequence[IndexSpec] = (),
primary_key: Sequence[str] | str | None = None,
description: str | None = None,
validation_rule: str | None = None,
validation_text: str | None = None,
properties: Mapping[str, PropertyValue] | None = None,
) -> Table
Create a table from a :class:TableSpec or from keyword arguments.
Creation is atomic: if any step fails, the partially created table is removed.