diff --git a/src/diagrams/er/parser/erDiagram.jison b/src/diagrams/er/parser/erDiagram.jison index 2c65073ff..ea4f435b6 100644 --- a/src/diagrams/er/parser/erDiagram.jison +++ b/src/diagrams/er/parser/erDiagram.jison @@ -102,6 +102,7 @@ statement entityName : 'ALPHANUM' { $$ = $1; /*console.log('Entity: ' + $1);*/ } + | 'ALPHANUM' '.' entityName { $$ = $1 + $2 + $3; } ; attributes diff --git a/src/diagrams/er/parser/erDiagram.spec.js b/src/diagrams/er/parser/erDiagram.spec.js index 84c64d1ce..b6cc8aebf 100644 --- a/src/diagrams/er/parser/erDiagram.spec.js +++ b/src/diagrams/er/parser/erDiagram.spec.js @@ -426,4 +426,10 @@ describe('when parsing ER diagram it...', function () { const rels = erDb.getRelationships(); expect(rels[0].roleA).toBe('places'); }); + + it('should allow an entity name with a dot', function () { + erDiagram.parser.parse('erDiagram\nCUSTOMER.PROP ||--|{ ORDER : places'); + const rels = erDb.getRelationships(); + expect(rels[0].entityA).toBe('CUSTOMER.PROP'); + }); });