Port prisma functional wave 2: mongo composites, relationMode matrices, issue regressions (229 accounted)#1042
Conversation
|
Important Review skippedToo many files! This PR contains 187 files, which is 87 over the limit of 100. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (88)
📒 Files selected for processing (187)
You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
size-limit report 📦
|
@prisma-next/extension-author-tools
@prisma-next/mongo-runtime
@prisma-next/family-mongo
@prisma-next/sql-runtime
@prisma-next/family-sql
@prisma-next/extension-arktype-json
@prisma-next/middleware-cache
@prisma-next/mongo
@prisma-next/extension-paradedb
@prisma-next/extension-pgvector
@prisma-next/extension-postgis
@prisma-next/postgres
@prisma-next/sql-orm-client
@prisma-next/sqlite
@prisma-next/extension-supabase
@prisma-next/target-mongo
@prisma-next/adapter-mongo
@prisma-next/driver-mongo
@prisma-next/contract
@prisma-next/utils
@prisma-next/config
@prisma-next/errors
@prisma-next/framework-components
@prisma-next/operations
@prisma-next/ts-render
@prisma-next/contract-authoring
@prisma-next/ids
@prisma-next/psl-parser
@prisma-next/psl-printer
@prisma-next/cli
@prisma-next/cli-telemetry
@prisma-next/config-loader
@prisma-next/emitter
@prisma-next/language-server
@prisma-next/migration-tools
prisma-next
@prisma-next/vite-plugin-contract-emit
@prisma-next/mongo-codec
@prisma-next/mongo-contract
@prisma-next/mongo-value
@prisma-next/mongo-contract-psl
@prisma-next/mongo-contract-ts
@prisma-next/mongo-emitter
@prisma-next/mongo-schema-ir
@prisma-next/mongo-query-ast
@prisma-next/mongo-orm
@prisma-next/mongo-query-builder
@prisma-next/mongo-lowering
@prisma-next/mongo-wire
@prisma-next/sql-contract
@prisma-next/sql-errors
@prisma-next/sql-operations
@prisma-next/sql-schema-ir
@prisma-next/sql-contract-psl
@prisma-next/sql-contract-ts
@prisma-next/sql-contract-emitter
@prisma-next/sql-lane-query-builder
@prisma-next/sql-relational-core
@prisma-next/sql-builder
@prisma-next/target-postgres
@prisma-next/target-sqlite
@prisma-next/adapter-postgres
@prisma-next/adapter-sqlite
@prisma-next/driver-postgres
@prisma-next/driver-sqlite
commit: |
542df44 to
0d1102e
Compare
…s, issue regressions (229 accounted) Second porting wave for the port-all-tests project, +229 checklist boxes accounted (488 → 717). Ported & passing: - mongo composites/list + composites/object (withMongoPort): create/createMany/delete/deleteMany/findFirst/findMany/update/upsert - relationMode foreignKeys referential-action matrices: 1-to-1, 1-to-n, m-to-n (Cascade/NoAction/Restrict/SetNull; @Map + nomap), plus 17255 same/mixed-action disconnect - issue regressions: 5952 decimal, 14954 date, 21631 batching-in-tx (Promise.all forms), 29174 jsonb, 13089 dollar-in-search (mongo) Ported & failing (test.fails, faithful gap): - 29267 Uint8Array-in-JSON serialization; required-composite null; implicit default onUpdate (NoAction vs Prisma Cascade) - relation-mode-gh-m-to-n @Map variants: prisma-next rejects the mapped join-table auto-index name (>54-char prefix limit, #1047); Prisma truncates/hashes. Tracked as it.fails that flips green when fixed. Non-portable (recorded per-test in non-ported/): - relationLoadStrategy, relationMode=prisma emulation, implicit embedded mongo m2m, array-batch $transaction([...]), embedded-subfield select / composite where operators / read-side aggregate+count in mongo ORM Built against current main: fixtures emitted with the new indexes[].unique contract shape (#1047); count-only ORM terminals renamed to createAndCount/updateAndCount/deleteAndCount (#1044). Corpus: 69 files, 476 passed | 52 expected-fail, typecheck + lint clean. failing.md matches the test.fails markers; non-ported ledgers mirror functional/<suite>/. All dispositions reviewer-gated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Second porting wave for the
port-all-testsproject. +229 checklist boxes accounted (488 → 717); every box gated by an Opus reviewer before it was checked.What landed
Ported & passing
composites/listandcomposites/object(create / createMany / delete / deleteMany / findFirst / findMany / update / upsert) againstwithMongoPort.1-to-1,1-to-n,m-to-nreferential actions (Cascade / NoAction / Restrict / SetNull ×@mapvariants) plus the 17255 same/mixed-actiondisconnectcases.Promise.allforms), 29174 (jsonb), 13089 (dollar-in-search, mongo).Ported & failing (
test.fails, faithful gap — one-to-one withfailing.md)Uint8Array-in-JSON serialization; required-compositenull; implicit-defaultonUpdate(prisma-nextNoActionvs PrismaCascade).Non-portable (recorded per-test under
non-ported/functional/<suite>/)relationLoadStrategy(no such query option),relationMode=prismaclient-side emulation, implicit embedded mongo m2m, array-batch$transaction([...]), and mongo-ORM gaps (embedded-subfieldselect, compositewhereoperators, read-sideaggregate/count).Verification
typecheck+lintclean.failing.mdmatches the 50test.fails1:1; non-ported ledgers mirrorfunctional/<suite>/; checklist boxes carry per-line dispositions._idassertion, and three issue suites had substituted array-batch$transaction([...])with the interactive-transaction facade (demoted to non-ported).No production code changed — test-only, per the project spec.
🤖 Generated with Claude Code