diff --git a/store/compose_module_fields.yaml b/store/compose_module_fields.yaml index 5d37ee77a..730763124 100644 --- a/store/compose_module_fields.yaml +++ b/store/compose_module_fields.yaml @@ -17,6 +17,7 @@ fields: - { field: Visible, type: bool } - { field: Multi, type: bool } - { field: DefaultValue, type: "types.RecordValueSet" } + - { field: Expressions, type: "types.ModuleFieldExpr" } - { field: CreatedAt } - { field: UpdatedAt } - { field: DeletedAt } diff --git a/store/rdbms/generic_upgrades.go b/store/rdbms/generic_upgrades.go index 087e7a3d4..f714be348 100644 --- a/store/rdbms/generic_upgrades.go +++ b/store/rdbms/generic_upgrades.go @@ -68,6 +68,10 @@ func (g genericUpgrades) Upgrade(ctx context.Context, t *ddl.Table) error { return g.all(ctx, g.AlterComposeModuleRenameJsonToMeta, ) + case "compose_module_field": + return g.all(ctx, + g.AlterComposeModuleFieldAddExpresions, + ) case "messaging_channel": return g.all(ctx, g.AlterMessagingChannelsDropOrganisation, @@ -360,6 +364,15 @@ func (g genericUpgrades) AlterComposeModuleRenameJsonToMeta(ctx context.Context) return err } +func (g genericUpgrades) AlterComposeModuleFieldAddExpresions(ctx context.Context) (err error) { + var ( + col = &ddl.Column{Name: "expressions", Type: ddl.ColumnType{Type: ddl.ColumnTypeJson}, IsNull: true} + ) + + _, err = g.u.AddColumn(ctx, "compose_module_field", col) + return +} + func (g genericUpgrades) AlterMessageAttachmentsRenameOwner(ctx context.Context) error { _, err := g.u.RenameColumn(ctx, "messaging_attachment", "rel_user", "rel_owner") return err diff --git a/store/rdbms/rdbms_schema.go b/store/rdbms/rdbms_schema.go index 51f8c0cee..59c89760f 100644 --- a/store/rdbms/rdbms_schema.go +++ b/store/rdbms/rdbms_schema.go @@ -315,6 +315,7 @@ func (Schema) ComposeModuleField() *Table { ColumnDef("kind", ColumnTypeText), ColumnDef("options", ColumnTypeJson), ColumnDef("default_value", ColumnTypeJson), + ColumnDef("expressions", ColumnTypeJson), ColumnDef("name", ColumnTypeVarchar, ColumnTypeLength(handleLength)), ColumnDef("label", ColumnTypeText), ColumnDef("is_private", ColumnTypeBoolean),