-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode.power
More file actions
33 lines (33 loc) · 1.66 KB
/
code.power
File metadata and controls
33 lines (33 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* Table Schema and Field Metadata Map.
*
* A fully structured, associative array containing definitions for
* every database table (area/view) used by the component. Each table
* contains its field definitions with the following details:
*
* - **name**: The column/field name in the database.
* - **label**: The Joomla language constant for field display text.
* - **type**: The form field type (text, textarea, editor, radio, list, etc.).
* - **title**: Whether this field is the primary title field for the view.
* - **list**: The list view this field belongs to.
* - **store**: Any special storage encoding (e.g. `base64`, `json`, `basic_encryption`).
* - **tab_name**: The logical tab grouping for form display.
* - **db**: An array describing the database column definition:
* - `type`: The SQL column type (e.g. VARCHAR(255), INT(11)).
* - `default`: Default value or `EMPTY`.
* - `GUID`: A unique identifier.
* - `null_switch`: Whether NULL is allowed (`NULL` or `NOT NULL`).
* - `unique_key`: Boolean indicating if a unique key is enforced.
* - `key`: Boolean indicating if it is indexed.
* - **link**: If applicable, describes a foreign key relationship
* (target table, component, entity, value field, and key field).
* - **fields**: (Optional) Subfield definitions for subforms.
*
* This array is the canonical reference used by developers to dynamically
* build database migrations, generate forms, create models, and ensure
* consistent schema management across installations and updates.
*
* @var array
* @since 3.2.0
*/
protected array $tables = ###ALL_COMPONENT_FIELDS###;