From 677d34ddf237b9919a289d09b96a2aa194346b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=CC=88l?= Date: Mon, 2 Aug 2021 13:55:06 +0200 Subject: [PATCH 1/2] fix(cli): test getConfig provider array fix Related https://github.com/prisma/prisma/issues/8467 --- src/packages/cli/src/bin.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/packages/cli/src/bin.ts b/src/packages/cli/src/bin.ts index effcb21f2535..4f0f953fd22f 100755 --- a/src/packages/cli/src/bin.ts +++ b/src/packages/cli/src/bin.ts @@ -189,14 +189,26 @@ async function main(): Promise { let schemaProvider: string | undefined let schemaPreviewFeatures: string[] | undefined let schemaGeneratorsProviders: string[] | undefined + try { const schema = await getSchema(args['--schema']) const config = await getConfig({ datamodel: schema, }) + + // There is a datasource let's see if it has a provider if (config.datasources.length > 0) { - schemaProvider = config.datasources[0].provider + if ( + Array.isArray(config.datasources[0].provider) && + config.datasources[0].provider[0] + ) { + // It shouldn't be an array but it is. See https://github.com/prisma/prisma/issues/8467 + schemaProvider = config.datasources[0].provider[0] + } else { + schemaProvider = config.datasources[0].provider + } } + const generator = config.generators.find( (gen) => gen.previewFeatures.length > 0, ) From 442f366fb315b5b8507445fcd8e1c6cb89fe9bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Galeran?= Date: Tue, 3 Aug 2021 11:04:06 +0200 Subject: [PATCH 2/2] Update src/packages/cli/src/bin.ts --- src/packages/cli/src/bin.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/packages/cli/src/bin.ts b/src/packages/cli/src/bin.ts index 4f0f953fd22f..ebc0a79091af 100755 --- a/src/packages/cli/src/bin.ts +++ b/src/packages/cli/src/bin.ts @@ -194,6 +194,7 @@ async function main(): Promise { const schema = await getSchema(args['--schema']) const config = await getConfig({ datamodel: schema, + ignoreEnvVarErrors: true, }) // There is a datasource let's see if it has a provider