Skip to main content

βœ”οΈ Introducing DBML Check Constraints β€” Enforce Data Rules with Ease

Great news! We've added support for Check constraints, allowing you to set rules on your table fields to enforce data qualityβ€”such as ensuring quantities are above zero or ratings stay within a range.

Here's a simple DBML example:

Table orders {
id integer [pk, increment]
price decimal [not null, check: `price > 0`]
discount decimal [not null, default: 0, check: `discount >= 0`]

checks {
`discount < price` [name: 'valid_discount']
}
}

Previously, these had to go in notes, which meant they could disappear during SQL imports or exports. Now, define them right in DBML, import and export with accuracy, and view them in your ER diagrams and docs for clearer sharing.

DBML Check constraint

It's a simple way to make your databases more reliable and your documentation more informative. Update your docs now and start applying Check constraints!

πŸ“š Read the full docs β†’

We hope these enhancements improve your database design and communication experience. Try them out andΒ let us knowΒ what you think.


πŸ•’ New Feature: Wiki Changelog

You know that moment when you're reading database documentation and thinking "Is this documentation up to date?" πŸ€”

We just solved that.

We're excited to announce Wiki Changelog – a collection of features that show schema changes directly in your documentation pages.

Stay in your flow. Know what changed. When it changed. Who changed it.

πŸ•’ Recent Activities & Entity Last Update​

Get a quick glance at recent schema updates directly in your wiki pages. See at-a-glance timestamps on each table, field, and schema component so you can instantly assess how current your documentation is without digging deeper.

Recent Activities

πŸ”„ Entity-Specific Changelog​

Drill down into the evolution of individual tables, table groups, or fields. Each entity now has its own changelog so you can track specific changes over time and understand how particular parts of your schema developed.

Entity Changelog

πŸ” Wiki Diff View​

Compare any two versions without leaving your documentation using Wiki Diff View. From here, you can toggle between familiar documentation style or raw code view.

Wiki Diff View

πŸ’‘ Why You'll Use It​

  • Debug issues: When something breaks or data looks wrong, quickly see what changed in specific tables or fields recently.
  • Share with teams: Point teammates to recent changes during discussions or code reviews.
  • Review before changes: Check recent activity on tables or fields before making your own modifications.
  • Track compliance: See who made what changes and when for audit trails.
  • Plan migrations: Understand change patterns before planning major schema updates.

πŸš€ Available Now​

Wiki Changelog is rolling out to all dbdocs users starting today. Check out the features in action at our live demo: Ecommerce - dbdocs.io or visit any of your existing documentation pages.

If you have any feedback for us, feel free to share it in this community post.


🌐 Edit Projects Directly in Your Browser!

We’re excited to introduce browser-based editing for dbdocs projects! Powered by dbdiagram.io’s editing features, this update offers a seamless experience for creating and managing your database documentation.

Edit projects directly in the browser​

  • From your dbdocs project site, click Edit (via dbdiagram).
  • Your project opens in an online editor powered by dbdiagram.
  • Make changes, save your draft, then Publish to update the live docs.

edit-project-via-dbdiagram

Instantly create new projects​

  • Start a new dbdocs project with an online editor powered by dbdiagram, no CLI required.
  • When ready, publish it to your dbdocs workspace.

edit-project-via-dbdiagram

  • Paid dbdocs users can continue to use their paid features, such as table groups and header colors, while editing in the online editor.
  • You now no longer need to buy subscriptions for both dbdiagram and dbdocs to use paid editing features. Instead, you can buy them separately based on your needs:
    • Purchase dbdiagram if you only need to create ERDs.
    • Purchase dbdocs if you require both ERDs and web-based database documentation.

πŸ€” Why the Change?

  • This update makes it easier for more people β€” from junior developers to product managers β€” to collaborate on database documentation. Whether you're proposing schema changes or just adding notes, you can now do it all in the browser.
  • This update is also part of a larger vision: bringing dbdocs and dbdiagram closer together to bring you a powerful data modeling experience.

Experience browser-based editing and let us know your feedback!


πŸ‘‘ Pricing Update: New Plans for Individuals and Teams!

We’re thrilled to announce some big changes to our pricing plans at dbdocs.io, designed to better serve both individual users and teams like yours.

dbdocs new pricing plan

Here’s what’s new:

  • 🌟 New Personal Pro Plan at $20/month: The old Pro plan ($60/month) has been replaced with a more affordable Personal Pro plan for individuals to create and share database docs with advanced features.
  • πŸ‘₯ New Team Plan at $60/month: For teams, we’ve introduced the Team plan at the same price as the old Pro plan, now with enhanced collaborative workspace features.
  • πŸ€” Why the Change? The old Pro plan, while feature-rich, was too expensive for individual users and lacked advanced team collaboration tools. We’ve addressed this by introducing the affordable Personal Pro plan for individuals and the Team plan with new features to streamline team workflows.
  • πŸš€ Free Upgrade for Existing Pro Users: If you’re on the old Pro plan, you’ve been automatically upgraded to the Team plan at no extra cost, so you can enjoy these new team features right away!

To help you understand the differences, here’s a quick comparison:

Old ProNew (Personal) ProNew Team
DescriptionFor individuals or small teams needing private projects and advanced documenting featuresFor individuals documenting and managing complex databases with more flexibility and lower costFor teams needing shared workspaces, and centralized management
Pricing$60/mo ($50/mo annually)$20/mo ($16/mo annually)$60/mo ($50/mo annually)
LicensesSingle userSingle user3 editor seats included, $5/editor/mo after ($4/editor/mo annually)
Paid Projects3 paid projects included, $10/project/mo after ($8/editor/mo annually)3 paid projects included, $10/project/mo after ($8/editor/mo annually)5 paid projects included, $10/project/mo after ($8/editor/mo annually)
Project SharingInvite guest viewers (unlimited)Invite guest viewers (max 5)Invite guest or workspace viewers (unlimited)
Project CollaborationInvite guest editors (unlimited)❌Invite guest or workspace editors (max 6 guests)
Workspace Collaboration❌❌- Shared workspace
- Invite people to team
Other Advanced Features- Table groups
- Table header colors
- Schema changelog
- etc.
Similar to old Pro planInclude all Personal Pro features

You can check out all the details on our pricing page.

Have questions? Reach out to us at [email protected]. We’re here to help!


0️⃣ Zero-to-One/Many Relationships, Colors and more!

Valentine’s Day taught us relationships can be rock-solid or a little… optional πŸ’”β€”and your database is no different! Our latest update lets you define optional or mandatory relationships, customize their colors, and add names to make your diagrams clearer and more meaningful.

Optional or Mandatory Relationships (free plan)​

Using the nullable constraint on the foreign key, we can now automatically determine whether a relationship is optional (zero-to-one/many) or mandatory (one-to-one/many) for the parent entity. Take a look at our example below:

Table follows {
following_user_id int [ref: > users.id] // optional, many-to-zero relationship
followed_user_id int [ref: > users.id, null] // optional, many-to-zero relationship
}

Table posts {
id int [pk]
user_id int [ref: > users.id, not null] // mandatory, many-to-one relationship
}

Zero-to-one/many relationship

Custom Color for Relationship Lines (paid plan only)​

Make your diagrams more readable by assigning custom colors to relationships. You can either pick up a color directly in the diagram or define it via DBML with this syntax:

Ref: posts.user_id > users.id [color: #aabbcc]

If not defined, the relationship line will inherit the parent table’s header color by default.

We’ve also added a flowing animation to show the direction of each relationship.

Custom color for relationship

Named Relationships (free plan)​

Label your relationships in DBML and see the names pop up on hover in your diagram! These hover-triggered names make it a breeze to identify connections without cluttering the view.

The syntax for naming a relationship is as follows:

Ref user_posts: posts.user_id > users.id

Named relationship

We hope these enhancements improve your database design and communication experience. Try them out and let us know what you think.