Skip to main content

⏳✨ 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.


🌙 Dark Mode has arrived

We're joining the dark side! It's easier on the eyes for you night owls. Or if you just want to change a bit, sure it'll make things look better.