In Azimutt, database design is made through a dedicated language called AML.
Here is how it looks:
users
id uuid pk
name varchar
email varchar unique
role user_role(admin, guest)=guest
posts
id uuid pk
title varchar
content text | in markdown
created_at timestamp=`now()`
created_by uuid -> users(id) # inline relation
We believe it's really the best UX any tool can offer as it allows you to type as fast as you can, use copy/paste, find/replace, code generation, versioning and more...
We even released a VS Code extension for it, giving you syntax highlighting, inline error reporting, global rename and even smart suggestions on top of native VS Code features. It will continue to evolve, and it's clearly the best way today to write AML.
To use it in Azimutt, just create a new source and select AML:
You can also try it live with a powerful editor in the converters.
Now, let's have a look to full specification: