From 5dcb02b52fe074dde4db2104903c0789d2b8ead1 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Fri, 5 Jun 2026 22:37:18 +0000 Subject: [PATCH 1/2] feat: add inline timestamp columns to metaschema-schema tables Add created_at/updated_at columns directly in CREATE TABLE statements for all 18 metaschema_public tables that have timestamps applied via db_utils.timestamps() in the internal metaschema package. This fixes schema drift where the published module lacked timestamp columns that exist on the live database, causing the export tool's dynamic GraphQL introspection to generate INSERTs with columns that don't exist on databases deployed from this module. --- packages/metaschema-schema/Makefile | 2 +- .../tables/check_constraint/table.sql | 3 ++ .../tables/database/table.sql | 4 +++ .../tables/embedding_chunks/table.sql | 3 ++ .../metaschema_public/tables/field/table.sql | 3 ++ .../tables/foreign_key_constraint/table.sql | 3 ++ .../tables/full_text_search/table.sql | 4 +++ .../metaschema_public/tables/index/table.sql | 3 ++ .../tables/partition/table.sql | 3 ++ .../metaschema_public/tables/policy/table.sql | 3 ++ .../tables/primary_key_constraint/table.sql | 3 ++ .../metaschema_public/tables/schema/table.sql | 3 ++ .../tables/schema_grant/table.sql | 5 ++- .../tables/spatial_relation/table.sql | 3 ++ .../metaschema_public/tables/table/table.sql | 3 ++ .../tables/table_grant/table.sql | 3 ++ .../tables/trigger/table.sql | 3 ++ .../tables/trigger_function/table.sql | 3 ++ .../tables/unique_constraint/table.sql | 3 ++ .../metaschema-schema.control | 2 +- packages/metaschema-schema/package.json | 2 +- ...26.1.sql => metaschema-schema--0.26.3.sql} | 36 +++++++++++++++++++ 22 files changed, 96 insertions(+), 4 deletions(-) rename packages/metaschema-schema/sql/{metaschema-schema--0.26.1.sql => metaschema-schema--0.26.3.sql} (94%) diff --git a/packages/metaschema-schema/Makefile b/packages/metaschema-schema/Makefile index 0da07181..9c6e3a8a 100644 --- a/packages/metaschema-schema/Makefile +++ b/packages/metaschema-schema/Makefile @@ -1,5 +1,5 @@ EXTENSION = metaschema-schema -DATA = sql/metaschema-schema--0.26.1.sql +DATA = sql/metaschema-schema--0.26.3.sql PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/check_constraint/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/check_constraint/table.sql index 99e83cb4..071ec662 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/check_constraint/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/check_constraint/table.sql @@ -25,6 +25,9 @@ CREATE TABLE metaschema_public.check_constraint ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/database/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/database/table.sql index e9adbb4b..fbfd17e7 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/database/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/database/table.sql @@ -13,6 +13,10 @@ CREATE TABLE metaschema_public.database ( label text, hash uuid, + + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + unique(schema_hash) ); diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/embedding_chunks/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/embedding_chunks/table.sql index 2667d213..76337cb0 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/embedding_chunks/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/embedding_chunks/table.sql @@ -46,6 +46,9 @@ CREATE TABLE metaschema_public.embedding_chunks ( -- FK field on chunks table pointing to parent parent_fk_field_id uuid, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT chunks_table_fkey FOREIGN KEY (chunks_table_id) REFERENCES metaschema_public.table (id) ON DELETE SET NULL, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/field/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/field/table.sql index 60c9c651..d0204b6b 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/field/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/field/table.sql @@ -62,6 +62,9 @@ CREATE TABLE metaschema_public.field ( module text NULL, scope int NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/foreign_key_constraint/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/foreign_key_constraint/table.sql index 989a4f6b..6a5f47c7 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/foreign_key_constraint/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/foreign_key_constraint/table.sql @@ -28,6 +28,9 @@ CREATE TABLE metaschema_public.foreign_key_constraint ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/full_text_search/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/full_text_search/table.sql index 5c684777..892b488d 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/full_text_search/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/full_text_search/table.sql @@ -13,6 +13,10 @@ CREATE TABLE metaschema_public.full_text_search ( field_ids uuid[] NOT NULL, weights text[] NOT NULL, langs text[] NOT NULL, + + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + -- CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/index/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/index/table.sql index ac10e060..3034fd3d 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/index/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/index/table.sql @@ -33,6 +33,9 @@ CREATE TABLE metaschema_public.index ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/partition/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/partition/table.sql index b0e726e2..6385452e 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/partition/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/partition/table.sql @@ -20,6 +20,9 @@ CREATE TABLE metaschema_public.partition ( naming_pattern text NOT NULL DEFAULT '{parent}_{bounds}', is_parented boolean NOT NULL DEFAULT false, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT partition_database_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/policy/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/policy/table.sql index bd6067d4..4feb8e22 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/policy/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/policy/table.sql @@ -33,6 +33,9 @@ CREATE TABLE metaschema_public.policy ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/primary_key_constraint/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/primary_key_constraint/table.sql index e7a1f7a9..07d88be5 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/primary_key_constraint/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/primary_key_constraint/table.sql @@ -22,6 +22,9 @@ CREATE TABLE metaschema_public.primary_key_constraint ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/table.sql index ad79ee11..24ded8cc 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema/table.sql @@ -25,6 +25,9 @@ CREATE TABLE metaschema_public.schema ( is_public boolean NOT NULL DEFAULT TRUE, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, UNIQUE (database_id, name), diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema_grant/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema_grant/table.sql index 1235d040..1bc79edf 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema_grant/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/schema_grant/table.sql @@ -11,8 +11,11 @@ CREATE TABLE metaschema_public.schema_grant ( schema_id uuid NOT NULL, grantee_name text NOT NULL, - -- + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + + -- CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT schema_fkey FOREIGN KEY (schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/spatial_relation/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/spatial_relation/table.sql index 11689d42..0a559cbc 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/spatial_relation/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/spatial_relation/table.sql @@ -30,6 +30,9 @@ CREATE TABLE metaschema_public.spatial_relation ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, CONSTRAINT field_fkey FOREIGN KEY (field_id) REFERENCES metaschema_public.field (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table/table.sql index a0c49e62..d9db4e9c 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table/table.sql @@ -38,6 +38,9 @@ CREATE TABLE metaschema_public.table ( partition_key_names text[] DEFAULT NULL, partition_key_types text[] DEFAULT NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT schema_fkey FOREIGN KEY (schema_id) REFERENCES metaschema_public.schema (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table_grant/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table_grant/table.sql index 9b4ccc4b..04858394 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table_grant/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/table_grant/table.sql @@ -17,6 +17,9 @@ CREATE TABLE metaschema_public.table_grant ( -- true = GRANT, false = REVOKE is_grant boolean NOT NULL DEFAULT true, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + -- CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger/table.sql index eb61da23..c4ffc522 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger/table.sql @@ -25,6 +25,9 @@ CREATE TABLE metaschema_public.trigger ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger_function/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger_function/table.sql index 6c568d1a..161e09fd 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger_function/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/trigger_function/table.sql @@ -12,6 +12,9 @@ CREATE TABLE metaschema_public.trigger_function ( name text NOT NULL, code text, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + -- CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, UNIQUE (database_id, name) diff --git a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/unique_constraint/table.sql b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/unique_constraint/table.sql index 9a03732a..01be08e4 100644 --- a/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/unique_constraint/table.sql +++ b/packages/metaschema-schema/deploy/schemas/metaschema_public/tables/unique_constraint/table.sql @@ -24,6 +24,9 @@ CREATE TABLE metaschema_public.unique_constraint ( tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), + CONSTRAINT db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT table_fkey FOREIGN KEY (table_id) REFERENCES metaschema_public.table (id) ON DELETE CASCADE, diff --git a/packages/metaschema-schema/metaschema-schema.control b/packages/metaschema-schema/metaschema-schema.control index f6f36010..54954e70 100644 --- a/packages/metaschema-schema/metaschema-schema.control +++ b/packages/metaschema-schema/metaschema-schema.control @@ -1,6 +1,6 @@ # metaschema-schema extension comment = 'metaschema-schema extension' -default_version = '0.26.1' +default_version = '0.26.3' module_pathname = '$libdir/metaschema-schema' requires = 'citext,hstore,pgpm-inflection,pgpm-database-jobs,pgpm-types,pgcrypto,plpgsql,postgis,uuid-ossp,pgpm-verify' relocatable = false diff --git a/packages/metaschema-schema/package.json b/packages/metaschema-schema/package.json index 88393e17..1ff03c15 100644 --- a/packages/metaschema-schema/package.json +++ b/packages/metaschema-schema/package.json @@ -37,4 +37,4 @@ "bugs": { "url": "https://github.com/constructive-io/pgpm-modules/issues" } -} +} \ No newline at end of file diff --git a/packages/metaschema-schema/sql/metaschema-schema--0.26.1.sql b/packages/metaschema-schema/sql/metaschema-schema--0.26.3.sql similarity index 94% rename from packages/metaschema-schema/sql/metaschema-schema--0.26.1.sql rename to packages/metaschema-schema/sql/metaschema-schema--0.26.3.sql index 552d78f9..ef2e354a 100644 --- a/packages/metaschema-schema/sql/metaschema-schema--0.26.1.sql +++ b/packages/metaschema-schema/sql/metaschema-schema--0.26.3.sql @@ -34,6 +34,8 @@ CREATE TABLE metaschema_public.database ( name text, label text, hash uuid, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), UNIQUE (schema_hash) ); @@ -56,6 +58,8 @@ CREATE TABLE metaschema_public.schema ( scope int NULL, tags citext[] NOT NULL DEFAULT '{}', is_public boolean NOT NULL DEFAULT true, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -91,6 +95,8 @@ CREATE TABLE metaschema_public."table" ( partition_strategy text DEFAULT NULL, partition_key_names text[] DEFAULT NULL, partition_key_types text[] DEFAULT NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -124,6 +130,8 @@ CREATE TABLE metaschema_public.check_constraint ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -170,6 +178,8 @@ CREATE TABLE metaschema_public.field ( category metaschema_public.object_category NOT NULL DEFAULT 'app', module text NULL, scope int NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -210,6 +220,8 @@ CREATE TABLE metaschema_public.foreign_key_constraint ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -235,6 +247,8 @@ CREATE TABLE metaschema_public.full_text_search ( field_ids uuid[] NOT NULL, weights text[] NOT NULL, langs text[] NOT NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -271,6 +285,8 @@ CREATE TABLE metaschema_public.index ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -302,6 +318,8 @@ CREATE TABLE metaschema_public.policy ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -329,6 +347,8 @@ CREATE TABLE metaschema_public.primary_key_constraint ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -350,6 +370,8 @@ CREATE TABLE metaschema_public.schema_grant ( database_id uuid NOT NULL DEFAULT uuid_nil(), schema_id uuid NOT NULL, grantee_name text NOT NULL, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -372,6 +394,8 @@ CREATE TABLE metaschema_public.table_grant ( grantee_name text NOT NULL, field_ids uuid[], is_grant boolean NOT NULL DEFAULT true, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -400,6 +424,8 @@ CREATE TABLE metaschema_public.trigger_function ( database_id uuid NOT NULL, name text NOT NULL, code text, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -421,6 +447,8 @@ CREATE TABLE metaschema_public.trigger ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -449,6 +477,8 @@ CREATE TABLE metaschema_public.unique_constraint ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -647,6 +677,8 @@ CREATE TABLE metaschema_public.embedding_chunks ( embedding_model text, embedding_provider text, parent_fk_field_id uuid, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -702,6 +734,8 @@ CREATE TABLE metaschema_public.spatial_relation ( module text NULL, scope int NULL, tags citext[] NOT NULL DEFAULT '{}', + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT db_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) @@ -774,6 +808,8 @@ CREATE TABLE metaschema_public.partition ( premake int NOT NULL DEFAULT 2, naming_pattern text NOT NULL DEFAULT '{parent}_{bounds}', is_parented boolean NOT NULL DEFAULT false, + created_at timestamptz DEFAULT now(), + updated_at timestamptz DEFAULT now(), CONSTRAINT partition_database_fkey FOREIGN KEY(database_id) REFERENCES metaschema_public.database (id) From f8f93364dbd6d03481ef6aa253942d0183c04fc8 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Fri, 5 Jun 2026 22:58:22 +0000 Subject: [PATCH 2/2] fix: update services snapshot to include timestamp columns --- packages/services/__tests__/__snapshots__/services.test.ts.snap | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/services/__tests__/__snapshots__/services.test.ts.snap b/packages/services/__tests__/__snapshots__/services.test.ts.snap index 07e23d67..892a7a90 100644 --- a/packages/services/__tests__/__snapshots__/services.test.ts.snap +++ b/packages/services/__tests__/__snapshots__/services.test.ts.snap @@ -2,12 +2,14 @@ exports[`services functionality should handle complete meta workflow with services 1`] = ` { + "created_at": "[DATE]", "hash": null, "id": "[ID]", "label": null, "name": "my-meta-db", "owner_id": "[ID]", "schema_hash": null, + "updated_at": "[DATE]", } `;