diff --git a/packages/schema/src/language-server/validator/datasource-validator.ts b/packages/schema/src/language-server/validator/datasource-validator.ts index d102e409f..bf934a085 100644 --- a/packages/schema/src/language-server/validator/datasource-validator.ts +++ b/packages/schema/src/language-server/validator/datasource-validator.ts @@ -43,9 +43,8 @@ export default class DataSourceValidator implements AstValidator { private validateUrl(ds: DataSource, accept: ValidationAcceptor) { const url = ds.fields.find((f) => f.name === 'url'); if (!url) { - accept('error', 'datasource must include a "url" field', { - node: ds, - }); + // url field is optional for new versions of Prisma + return; } for (const fieldName of ['url', 'shadowDatabaseUrl']) { diff --git a/packages/schema/tests/generator/prisma-generator.test.ts b/packages/schema/tests/generator/prisma-generator.test.ts index fc71b26bb..be643351f 100644 --- a/packages/schema/tests/generator/prisma-generator.test.ts +++ b/packages/schema/tests/generator/prisma-generator.test.ts @@ -21,7 +21,7 @@ describe('Prisma generator test', () => { process.chdir(r.name); execSync('npm init -y', { stdio: 'ignore' }); - execSync('npm install prisma'); + execSync('npm install prisma@6.19.x'); }); afterEach(() => { diff --git a/packages/schema/tests/schema/validation/datasource-validation.test.ts b/packages/schema/tests/schema/validation/datasource-validation.test.ts index 0c90da4db..f73e5a661 100644 --- a/packages/schema/tests/schema/validation/datasource-validation.test.ts +++ b/packages/schema/tests/schema/validation/datasource-validation.test.ts @@ -10,10 +10,7 @@ describe('Datasource Validation Tests', () => { expect(result).toMatchObject({ status: 'rejected', reason: { - cause: [ - { message: 'datasource must include a "provider" field' }, - { message: 'datasource must include a "url" field' }, - ], + cause: [{ message: 'datasource must include a "provider" field' }], }, }); }); diff --git a/tests/integration/tests/cli/generate.test.ts b/tests/integration/tests/cli/generate.test.ts index f066c8cfb..a420b30e8 100644 --- a/tests/integration/tests/cli/generate.test.ts +++ b/tests/integration/tests/cli/generate.test.ts @@ -45,7 +45,7 @@ model Post { // set up project fs.writeFileSync('package.json', JSON.stringify({ name: 'my app', version: '1.0.0' })); createNpmrc(); - installPackage('prisma @prisma/client zod@^3.25.0 @types/node@20'); + installPackage('prisma@6.19.x @prisma/client@6.19.x zod@^3.25.0 @types/node@20'); installPackage(path.join(__dirname, '../../../../packages/runtime/dist')); // set up schema