Fix prisma migrate cli regression error #8898
Merged
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.
PR #8790 among many things replaced
execa
withexecFile
as a way to spawn child process for prisma cli commands.Unfortunately
execFile
does not allow inheriting stdin from parent process like beforekeystone/packages/core/src/scripts/prisma.ts
Line 27 in f92aa40
Prisma commands that require user input (eg.
prisma migrate dev
orprisma migrate reset
) now throwError: Prisma Migrate has detected that the environment is non-interactive, which is not supported.
and there is no flag or option to turn it off (prisma/prisma#4669 prisma/prisma#7113)Related issues: #8888 #8858
There are at least 3 ways to fix this issue:
execa
)execFileSync
spawn
I chose the last one. In my limited testing everything seems to work fine. Let me know if other way is preferred instead.