DBML language preview
1. Blog schema
tables, an enum, and a relationship
horizon-dark
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id atom-one-dark
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id github-dark
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id dracula
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id nord
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id github
Table users {
id integer [primary key]
username varchar [not null, unique]
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer [not null]
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible to creator']
}
Ref: posts.user_id > users.id 2. Orders and payments
inline refs, indexes, and many-to-many
horizon-dark
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} atom-one-dark
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} github-dark
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} dracula
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} nord
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} github
Table customers {
id integer [pk, increment]
email varchar [unique, not null]
}
Table orders {
id integer [pk, increment]
customer_id integer [ref: > customers.id]
status order_status
placed_at timestamp [default: `now()`]
indexes {
(customer_id, placed_at) [name: 'customer_orders']
}
}
Enum order_status {
pending
paid
shipped
cancelled
}
Table products {
id integer [pk]
sku varchar [unique]
price decimal
}
Table order_items {
order_id integer [ref: > orders.id]
product_id integer [ref: > products.id]
quantity integer [not null]
indexes {
(order_id, product_id) [pk]
}
} 3. Project and table group
database settings wrapping a group of tables
horizon-dark
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
} atom-one-dark
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
} github-dark
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
} dracula
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
} nord
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
} github
Project ecommerce {
database_type: 'PostgreSQL'
Note: 'Checkout schema'
}
TableGroup checkout {
customers
orders
order_items
}