Skip to main content

🔒 Private & Password-protected Diagrams - Personal Pro feature

We understand that security is a big issue for you. That's why we've been working hard to release Private & Password-protected diagram feature.

Password protection

By default, your diagram is public, which means anyone can view it via a shareable link.

To change your diagram privacy, click Share. You can then change privacy settings in Share & access pop-up.

Type in a password, then click Apply.

From now, people can only view the diagram if they enter the password correctly.

Password will have effects on both the diagram you share via a link and on your existing embedded diagram.

Private mode

If you want to further restrict access to your diagram, turn off Public. In this private mode, only you can view and edit your design. Please note that password protection and embedded link will be disabled in Private mode.

Private & Password-protected diagrams are available in the Personal Pro plan. Learn more at dbdiagram.io/pricing


⏳✨ Version History - Personal Pro feature

Quarter 3 is coming with summer trips, beaches and time machine. You can now roll back in time with Version History!

No more manual cloning your diagram to test new ideas. No more fear of accidental deletion.

Every time you save your diagram (by pressing Ctrl/Command + S, or hitting Save button), a version is created. Now you can:

  • freely experiment your schema
  • and roll back to a former version whenever you want

How to use it:

  • Click on the new "History" button to view all versions of your diagram
  • Click on a specific version to preview it
  • Choose "Restore version" to revert the version right inside your diagram. Choose "Make a copy" to make a new diagram from that version.

🔑 Support Composite Foreign Key

dbdiagram now support composite foreign key!

Syntax

//Long form
Ref name_optional {
table1.(column1, column2,...) [<|>|-] table2.(columnA, columnB,...)
}

//Short form:
Ref name_optional: table1.(column1, column2,...) [<|>|-] table2.(columnA, columnB,...)

Example

Table user {
id int
country_code int
}
Table account {
user_id int
country_code int
}
Ref: user.(id, country_code) - account.(user_id, country_code)


🚀 Support Import from SQL Server

A much requested feature, dbdiagram now support importing from SQL Server!

Import from SQL Server only understand disk-based table syntax of these statements (parts that DBML support): Create Table , Create Index and Alter Table Add. For other syntax, it will either notify errors or ignore. In case of error, you just need to remove the syntax that cause the errors.

Statements should be separated by either a semicolon or the GO keyword or both in order.


✨ Table Group - Personal Pro feature

We're constantly working to improve your dbdiagram experience. One of the most requested features is the ability to categorize related tables. From today, you can do that with Table Group.

To start using Table Group, use the following syntax:

tablegroup group_name {
table_name1
table_name2
...
}

For example, to create a group named access_control that includes users, groups, user_group_mapping tables (as shown in the gif above):

tablegroup access_control {
users
groups
user_group_mapping
}

Please note that Table Group is a Personal Pro feature. You can learn more about Personal Pro Plan here.