mermaid-js / mermaid

Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
https://mermaid.js.org
MIT License
72.86k stars 6.66k forks source link

Allow entity type names to contain spaces, punctuation and other characters #1546

Open sualeh opened 4 years ago

sualeh commented 4 years ago

Describe the solution you'd like Allow entity types to have names in double-quotes, so that they can contain spaces, punctuation and other characters. This way, database table names with space separators can be represented better.

Additional context This may not be the theoretically "correct" way to name entity types, but practically, we see a lot of examples where people use ER diagrams to represent relational schemas (rather than trying to represent the underlying ER model). Allowing entity type names to contain spaces, punctuation and other characters will expand the user base of mermaid ER diagrams.

IchordeDionysos commented 3 years ago

This would also allow representing arrays like this: string[] which I believe is not even possible now 🤔

coreybutler commented 1 year ago

It is now possible to have entity names with a space by wrapping it in double quotes. However; this does not work for field types or names because the parser erroneously assumes text wrapped in quotes is a comment.

image

In other words, "CUSTOMER TABLE" renders properly, but the "varchar(250)" and "Custom Field" throw a parsing error.

image

We display two versions of an ERD, one with physical names and the other with logical names. Currently we have to modify the resulting SVG text nodes programmatically to display logical names. While this hack works on websites, it's useless in environments where we cannot control this (i.e. in a Github README).

AhmedThahir commented 10 months ago

Any updates?

moltra commented 3 weeks ago

I will help test any solutions to this. I am new to TS and JS programming, but I am experienced in Beta testing software looking for problems.

ts

jgreywolf commented 1 week ago

I am going to split this out into separate issues. The original issue is talking about Entity Relationship Diagrams specifically, and the later comments are related to class diagrams. See #6076