Ecosystem & Integrations
DBML is a plain-text, database-agnostic format, which makes it easy to build on. This page collects everything that speaks DBML: the apps and packages maintained by Holistics, the databases we support out of the box, and the projects the community has built.
Apps
Free tools that take a DBML file and do something useful with it.
Draw and share entity-relationship diagrams straight from DBML code. Free, no install required.
Publish searchable, always-up-to-date database documentation from a DBML file.
Spin up a throwaway database from your schema and validate SQL queries against it in the browser.
The analytics platform behind DBML — BI modelling and reporting defined as code.
Official packages
Open-source packages maintained in the holistics/dbml monorepo.
Parse DBML, convert SQL DDL to DBML, and export DBML back to SQL — in Node or the browser.
Command-line tool to convert between DBML and SQL DDL files, and to pull schemas from a live database.
Connect to PostgreSQL, MySQL, MSSQL, Oracle, Snowflake or BigQuery and extract the schema as JSON.
Database support
Which databases are supported across DBML's different capabilities.
| Database | Import (SQL to DBML) | Export (DBML to SQL) | Connector |
|---|---|---|---|
| PostgreSQL | ✓ | ✓ | ✓ |
| MySQL | ✓ | ✓ | ✓ |
| MSSQL (SQL Server) | ✓ | ✓ | ✓ |
| Oracle | ✓ | ✓ | ✓ |
| Snowflake | ✓ | — | ✓ |
| BigQuery | — | — | ✓ |
Legend: ✓ = Supported, — = Not supported
Import (SQL to DBML)
Convert SQL DDL scripts to DBML format using @dbml/core.
const { importer } = require('@dbml/core');
const dbml = importer.import(sqlScript, 'postgres');
Export (DBML to SQL)
Generate SQL DDL scripts from DBML using @dbml/core.
const { exporter } = require('@dbml/core');
const sql = exporter.export(dbmlContent, 'postgres');
Connector
Connect directly to a live database and extract its schema using @dbml/connector.
const { connector } = require('@dbml/connector');
const schemaJson = await connector.fetchSchemaJson(connectionString, 'postgres');
Community projects
Parsers, editor plugins and generators built and maintained by the DBML community. These are third-party projects — they are not maintained or endorsed by Holistics.
DBML parser and builder for Python.
DBML parser and tools for Go.
DBML parser for the JVM, written for Java 17.
DBML parser for PHP 8.
DBML parser for .NET.
Elixir parser for DBML, plus generators for Ecto schemas and migrations.
DBML grammar for tree-sitter — syntax highlighting and structural editing for any editor built on it.
Syntax highlighting and language support for DBML in Visual Studio Code.
DBML support for IntelliJ IDEA, PyCharm, DataGrip and the rest of the JetBrains family.
Syntax highlighting and filetype detection for DBML in Vim.
Emacs major mode for editing DBML files.
Generate a DBML schema from your Prisma schema.
Ruby gem that generates DBML from a Rails schema.rb file.
Convert Laravel (Doctrine) database schemas to DBML.
Converter between Django models.py and DBML, in both directions.
Render Android Room database schemas as ER diagrams via DBML.
Generate DBML from a Snowflake database, with configurable primary keys and relationship inference.
Visual Studio extension that generates DBML entity schemas from Dynamics 365 Finance & Operations.
Generate DBML (and other files) from JDBC metadata, via Maven.
Convert a Parse Server MongoDB _SCHEMA collection into DBML to visualise relations between Parse classes.
CLI that renders a DBML file to an SVG diagram.
CLI that turns a DBML schema into LLM-ready markdown docs and a searchable knowledge graph.
DBML-powered code scaffolding — generate application code from your schema.
Add your project
Built something that reads or writes DBML? We would love to list it.
- Add an entry to
dbml-homepage/src/data/ecosystem.ts. - Open a pull request against holistics/dbml.
Questions or ideas? Head to the issues page.