Skip to main content Svelte Highlight v7.23.1

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
}