diff --git a/packages/db-meta-schema/deploy/schemas/collections_public/tables/field/table.sql b/packages/db-meta-schema/deploy/schemas/collections_public/tables/field/table.sql index b1c973e9..c6905309 100644 --- a/packages/db-meta-schema/deploy/schemas/collections_public/tables/field/table.sql +++ b/packages/db-meta-schema/deploy/schemas/collections_public/tables/field/table.sql @@ -69,4 +69,11 @@ COMMENT ON CONSTRAINT db_fkey ON collections_public.field IS E'@omit manyToMany' CREATE INDEX field_table_id_idx ON collections_public.field ( table_id ); CREATE INDEX field_database_id_idx ON collections_public.field ( database_id ); -COMMIT; \ No newline at end of file +-- Add AST column for SQL expression validation (AST is the source of truth) +ALTER TABLE collections_public.field ADD COLUMN + default_value_ast jsonb NULL DEFAULT NULL; + +-- Smart comment for Graphile SQL expression validator plugin +COMMENT ON COLUMN collections_public.field.default_value IS E'@sqlExpression'; + +COMMIT; diff --git a/packages/db-meta-schema/sql/db-meta-schema--0.15.3.sql b/packages/db-meta-schema/sql/db-meta-schema--0.15.3.sql index 9c256d6a..2631dcbb 100644 --- a/packages/db-meta-schema/sql/db-meta-schema--0.15.3.sql +++ b/packages/db-meta-schema/sql/db-meta-schema--0.15.3.sql @@ -216,6 +216,11 @@ CREATE INDEX field_table_id_idx ON collections_public.field (table_id); CREATE INDEX field_database_id_idx ON collections_public.field (database_id); +ALTER TABLE collections_public.field ADD COLUMN + default_value_ast jsonb NULL DEFAULT NULL; + +COMMENT ON COLUMN collections_public.field.default_value IS '@sqlExpression'; + CREATE UNIQUE INDEX databases_field_uniq_names_idx ON collections_public.field (table_id, (decode(md5(lower(regexp_replace(name, '^(.+?)(_row_id|_id|_uuid|_fk|_pk)$', E'\\1', 'i'))), 'hex'))); CREATE TABLE collections_public.foreign_key_constraint ( @@ -867,4 +872,4 @@ CREATE INDEX site_themes_site_id_idx ON meta_public.site_themes (site_id); COMMENT ON CONSTRAINT db_fkey ON meta_public.site_themes IS '@omit manyToMany'; -CREATE INDEX site_themes_database_id_idx ON meta_public.site_themes (database_id); \ No newline at end of file +CREATE INDEX site_themes_database_id_idx ON meta_public.site_themes (database_id);