Compare Prisma 6 and Prisma Next runtime behavior#1
Open
jkomyno wants to merge 31 commits into
Open
Conversation
Pack Prisma Next from origin/main at 7044a2295bc398cec86e5c9cada3e932fcac486d and refresh the workspace lockfile against the local tarballs.
Normalize JSON columns for non-parameterized pg/json codecs, keep generated contract typings in sync, pass migrationsDir to dbInit planning, and update the local marker table shape to use the current space primary key.
Update the runtime SQL comparison notes with the May 13 rerun against locally packed Prisma Next origin/main, including the new totals, remaining mismatches, and harness compatibility notes.
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
This PR compares Prisma 6 and Prisma Next in Dub, but the order matters.
We first had to port Dub.co away from PlanetScale/Vitess/MySQL assumptions and onto PostgreSQL. That was not a cosmetic prerequisite; it was the only way to make the later Prisma Next comparison meaningful. If Dub still spoke MySQL through Vitess, every difference would mix three separate variables: database dialect, PlanetScale behavior, and Prisma runtime behavior. The result would look precise while answering the wrong question.
Once Dub could run against PostgreSQL through Prisma 6, this branch added the hybrid Prisma Next comparison harness. The latest update refreshes the locally packed Prisma Next tarballs from
prisma/prisma-nextorigin/mainat7044a2295bc398cec86e5c9cada3e932fcac486d, aligns the harness with the current Prisma Next runtime, and records the runtime SQL comparison against the Prisma 6 baseline.What Changed
prisma/prisma-nextorigin/main.prisma_contract.markerusesspace textas its primary key.prisma/dubmainand resolved the conflicts by keeping the new network partner status, partner tag, and submitted-lead changes while preserving PostgreSQL query semantics.Latest Verification
After resolving conflicts, I ran:
pnpm --filter=@dub/prisma formatpnpm --filter=@dub/prisma generatepnpm --filter=@dub/prisma next:emitpnpm --filter=@dub/prisma next:smokeThe latest full comparison run recorded:
pnpm --filter=@dub/prisma next:ddl:comparepnpm --filter=@dub/prisma next:sql:comparepnpm --filter=@dub/prisma next:smokeNotes
The remaining runtime differences are intentionally visible in the comparison output. Hiding them would make this branch easier to merge, but less useful. The point of the harness is to isolate Prisma runtime behavior after the database port, so the comparison can show exactly where Prisma Next still differs from Prisma 6.