holistics / dbml

Database Markup Language (DBML), designed to define and document database structures
https://dbml.org
Apache License 2.0
2.52k stars 163 forks source link

Issue with multi-valued index expressions - sql2dbml mysql #578

Open Rayyan98 opened 3 weeks ago

Rayyan98 commented 3 weeks ago

We have a table with a mysql multii-valued composite index. Creating a multi-valued index in myql requires casting as per the docs https://dev.mysql.com/doc/refman/8.4/en/create-index.html#create-index-multi-valued

Our sql file to generate the schema contains the following

image

However, when we try to convert it to dbml using sql2dbml, it ends up looking like this

image

The incorrect quotes and formatting cause errors when feeding this file into other tools like dbdocs

Versions tested:

Not sure if this is a bug or not supported and what the correct should be

Modifying the output using a script as per some examples in the docs seems to make it work with dbdocs

Docs:

image

Working modification:

image

Can this be picked up as a bug and the index definition generated in quotes when a column has a generated or cast element

huyleminh01 commented 3 weeks ago

Hi @Rayyan98 ,

Thank you for reporting this issue.

Currently, we are not supporting the ability to convert the cast keyword as you use case to DBML. So, we added it to our backlog for the future improvement.

Also, if you are interested, please feel free to contribute to this repository.

Thanks.