feat: add uuidv7 to SQL expression validator, remove pgpm-uuid references#828
Merged
pyramation merged 3 commits intomainfrom Mar 17, 2026
Merged
feat: add uuidv7 to SQL expression validator, remove pgpm-uuid references#828pyramation merged 3 commits intomainfrom
pyramation merged 3 commits intomainfrom
Conversation
…nces - Add 'uuidv7' to DEFAULT_ALLOWED_FUNCTIONS in SQL expression validator - Update validator tests for new function count (9 -> 10) - Remove 'pgpm-uuid' from DB_REQUIRED_EXTENSIONS in export-migrations - Remove 'pgpm-uuid' from PGPM_MODULE_MAP in modules Part of PG18 uuidv7() migration (constructive-db#589)
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
docker-compose.yml is for local development, so it should use docker.io/constructiveio/postgres-plus:18 (publicly accessible) instead of ghcr.io (requires GitHub keys).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion PR to constructive-db#589 (PG18
uuidv7()migration). Updates theconstructiverepo to:uuidv7()in SQL DEFAULT expressions — adds'uuidv7'toDEFAULT_ALLOWED_FUNCTIONSin the SQL expression validator so fields withDEFAULT uuidv7()pass validation.pgpm-uuidfrom required extensions — exported migrations no longer listpgpm-uuidas a dependency since the custom UUID module has been removed from constructive-db.pgpm-uuidfrom module map —PGPM_MODULE_MAPno longer mapspgpm-uuidto@pgpm/uuid, sopgpm installwon't attempt to install the removed package.docker-compose.ymlnow usesdocker.io/constructiveio/postgres-plus:18(publicly accessible) instead ofghcr.io/.../postgres-plus:17. The public image is appropriate here since docker-compose is for local development, not CI.Test fixtures in
__fixtures__/sqitch/simple-w-exts/still referencepgpm-uuid— this is intentional as they represent realistic installed-extension scenarios for module resolution tests.Review & Testing Checklist for Human
uuidv7()doesn't exist will cause field creation to fail at INSERT time.pgpm-uuidbeing inPGPM_MODULE_MAPorDB_REQUIRED_EXTENSIONS— grep forpgpm-uuidoutside of__fixtures__/and confirm nothing else references it.pnpm testingraphile/graphile-sql-expression-validatorto confirm all tests pass with the updated allowlist (now 10 functions).docker.io/constructiveio/postgres-plus:18is pullable — rundocker pull docker.io/constructiveio/postgres-plus:18locally to confirm the public image exists.Notes
uuid_generate_v4andgen_random_uuidare intentionally kept in the allowlist for backward compatibility with existing field definitions.__fixtures__references topgpm-uuidtest the module resolution logic and are independent of whether the module is actually used in production.ghcr.io/constructive-io/docker/postgres-plus:18(requires GitHub keys);docker-compose.ymluses the publicdocker.iomirror for local dev without authentication.Link to Devin session: https://app.devin.ai/sessions/15a3e842d67a434da19033908ebf8eb0
Requested by: @pyramation