From fdee7e993275f3cc33d41d7939de4a44d7a7a0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=CC=88l?= Date: Wed, 7 Jul 2021 18:39:35 +0200 Subject: [PATCH 1/2] fix(db push): make sure to stop migrate engine when it errors Related https://github.com/prisma/prisma/issues/7795 https://github.com/prisma/prisma/pull/7990 --- src/packages/migrate/package.json | 2 +- src/packages/migrate/src/commands/DbPush.ts | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/packages/migrate/package.json b/src/packages/migrate/package.json index 8db7414e9676..e06b28d5489d 100644 --- a/src/packages/migrate/package.json +++ b/src/packages/migrate/package.json @@ -74,7 +74,7 @@ "format": "prettier --write .", "lint": "eslint --cache --fix --ext .ts .", "lint-ci": "eslint --ext .ts .", - "test": "jest --forceExit", + "test": "jest", "build": "tsc -d -p tsconfig.build.json", "prepublishOnly": "pnpm run build" }, diff --git a/src/packages/migrate/src/commands/DbPush.ts b/src/packages/migrate/src/commands/DbPush.ts index 79f92a884aed..1339407471e9 100644 --- a/src/packages/migrate/src/commands/DbPush.ts +++ b/src/packages/migrate/src/commands/DbPush.ts @@ -21,6 +21,7 @@ import { NoSchemaFoundError, } from '../utils/errors' import { printDatasource } from '../utils/printDatasource' +import { EngineResults } from '../types' export class DbPush implements Command { public static new(): DbPush { @@ -136,9 +137,15 @@ You can now remove the ${chalk.red('--preview-feature')} flag.`) } const before = Date.now() - const migration = await migrate.push({ - force: args['--accept-data-loss'], - }) + let migration: EngineResults.SchemaPush + try { + migration = await migrate.push({ + force: args['--accept-data-loss'], + }) + } catch (e) { + migrate.stop() + throw e + } if (migration.unexecutable && migration.unexecutable.length > 0) { const messages: string[] = [] From 1eea5c16a3f4dfa19b710e0bc5ff7462662600c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Galeran?= Date: Thu, 8 Jul 2021 17:26:09 +0200 Subject: [PATCH 2/2] Restore package.json --- src/packages/migrate/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/packages/migrate/package.json b/src/packages/migrate/package.json index e06b28d5489d..d2dbb17c02c3 100644 --- a/src/packages/migrate/package.json +++ b/src/packages/migrate/package.json @@ -16,7 +16,7 @@ "version": "latest" }, "devDependencies": { - "@prisma/engines-version": "2.27.0-33.3bd7ccc160e1680374c43382d6594dfc0b80e440", + "@prisma/engines-version": "2.27.0-34.339cec4d523bb71e89922ae4b96371395e0b8f2b", "@prisma/generator-helper": "workspace:*", "@prisma/sdk": "workspace:*", "@types/jest": "26.0.24", @@ -53,7 +53,7 @@ }, "dependencies": { "@prisma/debug": "workspace:*", - "@prisma/get-platform": "2.27.0-33.3bd7ccc160e1680374c43382d6594dfc0b80e440", + "@prisma/get-platform": "2.27.0-34.339cec4d523bb71e89922ae4b96371395e0b8f2b", "@sindresorhus/slugify": "^1.1.0", "execa": "^5.0.0", "global-dirs": "^3.0.0", @@ -74,7 +74,7 @@ "format": "prettier --write .", "lint": "eslint --cache --fix --ext .ts .", "lint-ci": "eslint --ext .ts .", - "test": "jest", + "test": "jest --forceExit", "build": "tsc -d -p tsconfig.build.json", "prepublishOnly": "pnpm run build" },