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.
Finally give in and upgrade Prisma to a modern version, hopping right from 2.x to 4.x. This called for replacing the deprecated
nexus-plugin-prisma
with a forked version, but the changes there have been relatively minor.Main Prisma-related refactors in this PR are mainly just to rename the primary/foreign/unique keys and indexes to use the new default convention. Prisma schema is rewritten using the introspection feature, although some manual changes are still needed -- now the Postgres
Decimal
columns would be automatically cast toDecimal.js
objects, which would just break things, so I force them to beFloat
as before.Now that Prisma can be upgraded, we should also use its new features -- for example transactions are useful. Also, previously Prisma did not cascade delete even if the DB schema was set up to do so, but now it does.