From 77c4edb6c889ca099f2b12c0c60bce83cb2e70ea Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Sat, 3 Jun 2023 14:06:19 +0800 Subject: [PATCH] fix: shadowDatabaseUrl typo in prisma generator --- .../src/plugins/prisma/prisma-builder.ts | 2 +- .../tests/generator/prisma-generator.test.ts | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/schema/src/plugins/prisma/prisma-builder.ts b/packages/schema/src/plugins/prisma/prisma-builder.ts index 9f81bf3ea..4b8665d51 100644 --- a/packages/schema/src/plugins/prisma/prisma-builder.ts +++ b/packages/schema/src/plugins/prisma/prisma-builder.ts @@ -73,7 +73,7 @@ export class DataSource { indentString(`provider="${this.provider}"\n`) + indentString(`url=${this.url}\n`) + (this.directUrl ? indentString(`directUrl=${this.directUrl}\n`) : '') + - (this.shadowDatabaseUrl ? indentString(`shadowDatabaseurl=${this.shadowDatabaseUrl}\n`) : '') + + (this.shadowDatabaseUrl ? indentString(`shadowDatabaseUrl=${this.shadowDatabaseUrl}\n`) : '') + (restFields ? restFields + '\n' : '') + `}` ); diff --git a/packages/schema/tests/generator/prisma-generator.test.ts b/packages/schema/tests/generator/prisma-generator.test.ts index 466003fa1..72b9df35c 100644 --- a/packages/schema/tests/generator/prisma-generator.test.ts +++ b/packages/schema/tests/generator/prisma-generator.test.ts @@ -9,6 +9,31 @@ import PrismaSchemaGenerator from '../../src/plugins/prisma/schema-generator'; import { loadModel } from '../utils'; describe('Prisma generator test', () => { + it('datasource coverage', async () => { + const model = await loadModel(` + datasource db { + provider = 'postgresql' + url = env("DATABASE_URL") + shadowDatabaseUrl = env("DATABASE_URL") + } + + model User { + id String @id + } + `); + + const { name } = tmp.fileSync({ postfix: '.prisma' }); + await new PrismaSchemaGenerator().generate(model, { + name: 'Prisma', + provider: '@core/prisma', + schemaPath: 'schema.zmodel', + output: name, + }); + + const content = fs.readFileSync(name, 'utf-8'); + await getDMMF({ datamodel: content }); + }); + it('field type coverage', async () => { const model = await loadModel(` datasource db {