Awee

app:schema:update

Replaces the metadata of an existing schema

Replaces the metadata of an existing schema

Options

NameTypeDescription
org_idstringThe organisation ID that owns the schema
schema_idstringThe name of the schema (database) to update
schemaSchemaThe updated schema metadata to apply
  ↳ namestringIs the schema identifier and maps to the underlying database name (e.g. the MySQL database). Must be unique within an organisation.
  ↳ user_idstringIs the owner identifier, stored in _schema_metadata by SQL backends. Used for audit trail and ownership checks.
  ↳ org_idstringScopes the schema to a tenant. All schema and data operations are routed by this id.
  ↳ versionintIs the applied migration count. 0 for an empty schema; incremented by one for each Migration persisted through ApplySchema.
  ↳ tablesTableIs the ordered list of tables that make up the schema.
    ↳ namestringIs the table identifier and must be unique within a Schema.
    ↳ descriptionstringIs an optional human-readable summary surfaced in generated documentation and GUI tooling. Has no effect on storage.
    ↳ fieldsFieldIs the ordered list of user-defined columns on the table.
      ↳ namestringIs the column name. Must be unique within the table and must not collide with reserved record fields (id, created_at, updated_at, deleted_at).
      ↳ typeFieldTypeIs the field's data type. See the FieldType constants for the supported values.
      ↳ requiredboolMarks the field as non-nullable. Inserts and updates that omit a required field (and provide no Default) are rejected.
      ↳ defaultanyIs the value applied when a record is inserted without an explicit value for this field. A nil or zero value means no default is applied.
      ↳ related_tablestringIs the name of the target table for relation fields. Required when Type is has_one, has_many, or belongs_to; ignored otherwise.
      ↳ related_fieldstringIs the name of the foreign-key field on the related table. Used only by has_many to identify which column on RelatedTable points back to this record.
      ↳ descriptionstringIs a human-readable explanation of the field's purpose. Surfaced in generated documentation and GUI tooling; has no effect on storage or validation.
    ↳ indexesIndexIs the optional list of secondary indexes defined on the table.
      ↳ namestringIs the index identifier and must be unique within its table.
      ↳ fieldsstringIs the ordered list of field names covered by the index. Order is significant for composite indexes (leftmost-prefix semantics).
      ↳ uniqueboolEnforces that no two records share the same value combination for the indexed fields.
  ↳ created_atTimeIs the UTC timestamp when the schema was first persisted.
  ↳ updated_atTimeIs the UTC timestamp of the most recent successful migration.

Outputs

NameTypeDescription
schemaSchemaThe updated schema definition
  ↳ namestringIs the schema identifier and maps to the underlying database name (e.g. the MySQL database). Must be unique within an organisation.
  ↳ user_idstringIs the owner identifier, stored in _schema_metadata by SQL backends. Used for audit trail and ownership checks.
  ↳ org_idstringScopes the schema to a tenant. All schema and data operations are routed by this id.
  ↳ versionintIs the applied migration count. 0 for an empty schema; incremented by one for each Migration persisted through ApplySchema.
  ↳ tablesTableIs the ordered list of tables that make up the schema.
    ↳ namestringIs the table identifier and must be unique within a Schema.
    ↳ descriptionstringIs an optional human-readable summary surfaced in generated documentation and GUI tooling. Has no effect on storage.
    ↳ fieldsFieldIs the ordered list of user-defined columns on the table.
      ↳ namestringIs the column name. Must be unique within the table and must not collide with reserved record fields (id, created_at, updated_at, deleted_at).
      ↳ typeFieldTypeIs the field's data type. See the FieldType constants for the supported values.
      ↳ requiredboolMarks the field as non-nullable. Inserts and updates that omit a required field (and provide no Default) are rejected.
      ↳ defaultanyIs the value applied when a record is inserted without an explicit value for this field. A nil or zero value means no default is applied.
      ↳ related_tablestringIs the name of the target table for relation fields. Required when Type is has_one, has_many, or belongs_to; ignored otherwise.
      ↳ related_fieldstringIs the name of the foreign-key field on the related table. Used only by has_many to identify which column on RelatedTable points back to this record.
      ↳ descriptionstringIs a human-readable explanation of the field's purpose. Surfaced in generated documentation and GUI tooling; has no effect on storage or validation.
    ↳ indexesIndexIs the optional list of secondary indexes defined on the table.
      ↳ namestringIs the index identifier and must be unique within its table.
      ↳ fieldsstringIs the ordered list of field names covered by the index. Order is significant for composite indexes (leftmost-prefix semantics).
      ↳ uniqueboolEnforces that no two records share the same value combination for the indexed fields.
  ↳ created_atTimeIs the UTC timestamp when the schema was first persisted.
  ↳ updated_atTimeIs the UTC timestamp of the most recent successful migration.

How is this guide?

On this page