diff --git a/.github/workflows/schema-validation.yml b/.github/workflows/schema-validation.yml index 75b11ec..0aab9db 100644 --- a/.github/workflows/schema-validation.yml +++ b/.github/workflows/schema-validation.yml @@ -44,7 +44,7 @@ jobs: - name: Validate schema is in sync with migrations run: | # Apply migrations - dbmate up + DBMATE_SCHEMA_FILE=ci-dump.sql dbmate up # Force dump in case problems were ignored DBMATE_SCHEMA_FILE=ci-dump.sql dbmate dump diff --git a/database.sql b/database.sql index 533f5f5..792a94d 100644 --- a/database.sql +++ b/database.sql @@ -1,4 +1,4 @@ -\restrict ofpmBZgaMbuYf558teg7MYcyPbiwJkZyYgREoiBTduRUlCZa72Go911eC5LHqgI +\restrict AsCPTOt3U9KhJ9fUdZGWUtrBsH1prEN0qQZE48Juv4M8WNoa7mPKZojrPqmzFhv -- Dumped from database version 16.11 (Ubuntu 16.11-1.pgdg24.04+1) -- Dumped by pg_dump version 16.11 (Ubuntu 16.11-1.pgdg24.04+1) @@ -602,40 +602,41 @@ $$; -- --- Name: validate_transformation_key_offset(jsonb); Type: FUNCTION; Schema: public; Owner: - +-- Name: validate_transformation_key_length(jsonb); Type: FUNCTION; Schema: public; Owner: - -- -CREATE FUNCTION public.validate_transformation_key_offset(object jsonb) RETURNS boolean +CREATE FUNCTION public.validate_transformation_key_length(object jsonb) RETURNS boolean LANGUAGE plpgsql AS $$ BEGIN - RETURN object ? 'offset' AND is_jsonb_number(object -> 'offset') AND (object ->> 'offset')::integer >= 0; + RETURN object ? 'length' AND is_jsonb_number(object -> 'length') AND (object ->> 'length')::integer > 0; END; $$; -- --- Name: validate_transformation_key_length(jsonb); Type: FUNCTION; Schema: public; Owner: - +-- Name: validate_transformation_key_length_optional(jsonb); Type: FUNCTION; Schema: public; Owner: - -- -CREATE FUNCTION public.validate_transformation_key_length(object jsonb) RETURNS boolean +CREATE FUNCTION public.validate_transformation_key_length_optional(object jsonb) RETURNS boolean LANGUAGE plpgsql AS $$ BEGIN - RETURN object ? 'length' AND is_jsonb_number(object -> 'length') AND (object ->> 'length')::integer > 0; + RETURN NOT object ? 'length' + OR (is_jsonb_number(object -> 'length') AND (object ->> 'length')::integer > 0); END; $$; + -- --- Name: validate_transformation_key_length_optional(jsonb); Type: FUNCTION; Schema: public; Owner: - +-- Name: validate_transformation_key_offset(jsonb); Type: FUNCTION; Schema: public; Owner: - -- -CREATE FUNCTION public.validate_transformation_key_length_optional(object jsonb) RETURNS boolean +CREATE FUNCTION public.validate_transformation_key_offset(object jsonb) RETURNS boolean LANGUAGE plpgsql AS $$ BEGIN - RETURN NOT object ? 'length' - OR (is_jsonb_number(object -> 'length') AND (object ->> 'length')::integer > 0); + RETURN object ? 'offset' AND is_jsonb_number(object -> 'offset') AND (object ->> 'offset')::integer >= 0; END; $$; @@ -1730,7 +1731,7 @@ ALTER TABLE ONLY public.verified_contracts -- PostgreSQL database dump complete -- -\unrestrict ofpmBZgaMbuYf558teg7MYcyPbiwJkZyYgREoiBTduRUlCZa72Go911eC5LHqgI +\unrestrict AsCPTOt3U9KhJ9fUdZGWUtrBsH1prEN0qQZE48Juv4M8WNoa7mPKZojrPqmzFhv -- @@ -1741,4 +1742,5 @@ INSERT INTO public.schema_migrations (version) VALUES ('20250717103432'), ('20250723145429'), ('20251023134207'), - ('20251106144315'); + ('20251106144315'), + ('20260126113330');