{{ sql }}
| Table | Collection | Parent |
|---|---|---|
{{ generated.table_name }} |
{% if generated.collection_path.is_empty() %}root{% else %}{{ generated.collection_path }}{% endif %} |
{% if generated.parent_table_name.is_empty() %}—{% else %}{{ generated.parent_table_name }}{% endif %} |
This profile has no tables yet.
{% else %}| Table | Kind | Depends on | Row display |
|---|---|---|---|
{{ table.name }} |
{{ table.table_kind }} | {% if table.depends_on.is_empty() %}—{% else %}{{ table.depends_on|join(", ") }}{% endif %} | {% if table.row_display_columns.is_empty() %}id{% else %}{{ table.row_display_columns|join(", ") }}{% endif %} |
Nothing is selected yet. Every panel below acts on one profile, and most of them on one table inside it.
{% endif %}Identified by {%- if detail.row_display_columns.is_empty() %} its id {%- else %} {{ detail.row_display_columns|join(", ") }}{% endif -%} {%- if let Some(summary) = page.selected_table() -%} {%- if !summary.depends_on.is_empty() %} · depends on {{ summary.depends_on|join(", ") }}{% endif -%} {%- endif -%} .
{% if detail.is_system() %}This table is backend-managed. Its definition is shown here, but it can only be changed through the backend's own APIs.
{% endif %}| Column | Type | Notes |
|---|---|---|
{{ column.name }} |
{{ column.field_type }} | {%- for flag in column.flags() %}{{ flag }}{% endfor -%} |
| Target column | Type | Description |
|---|---|---|
{{ script.target_column }} |
{{ script.target_column_type }} |
{{ script.description }}
source{{ script.script }} |
{{ page.selection.table }}Columns are appended. Nothing that already exists is changed, and the new columns can be indexed as they are added.
Renames what the column is called, not the physical column underneath, so stored data and scripts are untouched. Only possible while the table has no rows.
{{ page.selection.table }}Drops the table and its definition, and the profile too when this was its last table. The backend refuses to delete a table that still has rows.
{{ page.selection.profile }} into a new profileCopies structure — tables, links and scripts — and no rows. Leave every table unticked to copy the whole profile.
Reads the #let komp_ac_fields = (…) contract out of a Typst
template. A path that matches an existing table and column becomes a
reference to it; anything else becomes a TEXT column to refine later, and
every [] becomes a child table.
No column in {% if page.selection.has_table() %}{{ page.selection.table }}{% else %}this profile{% endif %} has been renamed.
| Table | Was | Is | When |
|---|---|---|---|
{{ entry.table_name }} |
{{ entry.old_column_name }} |
{{ entry.new_column_name }} |
{{ entry.created_at }} |