diff --git a/packages/language/src/generated/grammar.ts b/packages/language/src/generated/grammar.ts index f62c3d091..986be8c33 100644 --- a/packages/language/src/generated/grammar.ts +++ b/packages/language/src/generated/grammar.ts @@ -2060,7 +2060,7 @@ export const ZModelGrammar = (): Grammar => loadedZModelGrammar ?? (loadedZModel } } ], - "cardinality": "+" + "cardinality": "*" }, { "$type": "Keyword", diff --git a/packages/language/src/zmodel.langium b/packages/language/src/zmodel.langium index b7f13466e..45bd3034f 100644 --- a/packages/language/src/zmodel.langium +++ b/packages/language/src/zmodel.langium @@ -186,7 +186,7 @@ DataModel: '{' ( fields+=DataModelField | attributes+=DataModelAttribute - )+ + )* '}'; DataModelField: diff --git a/packages/schema/tests/schema/abstract.test.ts b/packages/schema/tests/schema/abstract.test.ts index a3364bc2e..621e7998a 100644 --- a/packages/schema/tests/schema/abstract.test.ts +++ b/packages/schema/tests/schema/abstract.test.ts @@ -9,4 +9,23 @@ describe('Abstract Schema Tests', () => { }); await loadModel(content); }); + + it('empty inheritance', async () => { + await loadModel(` + datasource db { + provider = 'postgresql' + url = env('DATABASE_URL') + } + + generator js { + provider = 'prisma-client-js' + } + + abstract model Base { + id Int @id @default(autoincrement()) + } + + model Foo extends Base {} + `); + }); });