diff --git a/packages/cli/src/bin.ts b/packages/cli/src/bin.ts index effcb21f2535..ebc0a79091af 100755 --- a/packages/cli/src/bin.ts +++ b/packages/cli/src/bin.ts @@ -189,14 +189,27 @@ 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, + ignoreEnvVarErrors: true, }) + + // 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, )