Skip to main content

Import DBML

DBML (Database Markup Language) is a compact, human-readable way to describe a schema. If you have a .dbml file — exported from another tool, checked into a repo, or hand-written — EntityFlow can turn it into a full diagram.

Import DBML dialog

How to import​

  1. Open File → Import DBML….
  2. Paste your DBML into the textarea, or click Upload file and choose a .dbml file.
  3. EntityFlow parses the tables, fields, enums and references, then tells you how many tables will be created.
  4. Confirm to build the diagram.

:::warning Import replaces the current diagram Importing DBML discards what's on the canvas and rebuilds it from the file. Confirm only when you're ready to replace your current work. :::

Lenient parsing​

Parsing is forgiving. Non-critical issues — an unknown attribute, an unusual type — become warnings, and the import proceeds with the rest of the schema rather than failing outright. Review any warnings to catch anything that didn't map cleanly.

Example​

Table users {
id integer [pk, increment]
email varchar [not null, unique]
role user_role
}

Enum user_role {
admin
member
}

Table posts {
id integer [pk, increment]
author_id integer [not null]
}

Ref: posts.author_id > users.id

This creates a users table with an auto-incrementing primary key, a not-null unique email, and a role typed by the user_role enum, plus a posts table with a foreign key to users.

note

DBML has no concept of container groups, sticky notes or node positions, so those aren't part of an import. For a lossless round-trip that keeps layout and grouping, use Import JSON instead.