PyDBML icon indicating copy to clipboard operation
PyDBML copied to clipboard

DBML parser and builder for Python

Results 16 PyDBML issues
Sort by recently updated
recently updated
newest added

Currently, it's too easy to end up with an inconsistent Database entity by creating a column or table and appending it directly to `Database#tables` or `DBMLTable#columns` collections. Doing so, the...

Hi, I notice that when doing ```dbml // User Table has a comment // It can even handle multiline Table Users { id integer [primary key] // dbmt %signal is_valid_username...

When I'm working with markup files in Python I usually use one of these packages: - [json](https://docs.python.org/3/library/json.html#basic-usage) - [pyYAML](https://pyyaml.org/wiki/PyYAMLDocumentation) - [toml](https://github.com/uiri/toml#api-reference) I noticed that all of them have pretty much...

Moving multiple imports from same sources into single call. This should reduce DBML parse time more than twice. See https://github.com/Vanderhoof/PyDBML/issues/59

Parsing DBML syntax takes about **7-8 seconds** in my computer using your provided [test_schema.dbml](https://github.com/Vanderhoof/PyDBML/blob/master/test_schema.dbml) or any simple DBML. This parsing time is slow, thus please try reduce it. E.g. https://github.com/pyparsing/pyparsing/wiki/Performance-Tips...

Majority of pp.Combine() are replaced into pp.Regex() for optimization. Only this one line is not changed: https://github.com/Vanderhoof/PyDBML/blob/2bf015cf0d4a242339dad45095afec2c0efa197f/pydbml/definitions/enum.py#L56 This will contribute to https://github.com/Vanderhoof/PyDBML/issues/59 solving Some metrics: | ![Screenshot_20250301_183646-](https://github.com/user-attachments/assets/3c8097e0-f522-4731-80d3-9e186b3f6ba7) | ![Screenshot_20250301_183823+](https://github.com/user-attachments/assets/fa76e8ce-854a-40c4-a2c8-51aa2878a27e) |...