Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Types with a comma are not handled correctly. #3

Open
michael-simons opened this issue Nov 22, 2024 · 0 comments
Open

Types with a comma are not handled correctly. #3

michael-simons opened this issue Nov 22, 2024 · 0 comments

Comments

@michael-simons
Copy link

michael-simons commented Nov 22, 2024

Any table with a decimal or struct column in it will lead to an error like the following below when generating the diagram:

duckdb test.db -s "CREATE TABLE test(whatever DECIMAL(8,2))" && duckerd -d test.db -o test.png -f png -t neutral -w 1600 

results in

Generating ERD diagram...
Error generating ERD: Command failed: npm exec --package=@mermaid-js/mermaid-cli mmdc -- -i /Users/msimons/Sport/schema_erd.mmd -o test.png -t neutral -w 1600 -H 768

Error: Parse error on line 4:
...t" {      DECIMAL(8,2) whatever     }
----------------------^
Expecting 'ATTRIBUTE_WORD', got 'COMMA'
Parser3.parseError (/Users/msimons/.npm/_npx/668c188756b835f3/node_modules/mermaid/dist/mermaid.js:51744:28)
    at #evaluate (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:383:19)
    at async ExecutionContext.evaluate (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:270:16)
    at async IsolatedWorld.evaluate (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:96:16)
    at async CdpJSHandle.evaluate (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js:139:20)
    at async CdpElementHandle.evaluate (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js:334:20)
    at async CdpElementHandle.$eval (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js:488:24)
    at async CdpFrame.$eval (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js:441:20)
    at async CdpPage.$eval (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js:443:20)
    at async renderMermaid (file:///Users/msimons/.npm/_npx/668c188756b835f3/node_modules/@mermaid-js/mermaid-cli/src/index.js:250:22)
    at fromText (/Users/msimons/.npm/_npx/668c188756b835f3/node_modules/mermaid/dist/mermaid.js:140235:21)

In my own tooling I'm just cutting the extended info off. Even for a physical ER diagram it seems to be overkill: https://github.com/michael-simons/biking3/blob/24a76455877ac1c8c5bb2c51a203a97d95040bc5/bin/generate_er_diagram.sh#L28

duckerd --version
0.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant