Документация / DBML
TablePartial
TablePartial — многократно используемые определения столбцов, настроек и индексов.
Синтаксис
Определение:
TablePartial partial_name [table_settings] {
field_name field_type [field_settings]
indexes {
(column_name) [index_settings]
}
}
Использование — имя с префиксом ~ внутри таблицы:
Table table_name {
~partial_name
field_name field_type
~another_partial
}
Пример
TablePartial base_template [headerColor: #ff0000] {
id int [pk, not null]
created_at timestamp [default: `now()`]
updated_at timestamp [default: `now()`]
}
TablePartial soft_delete_template {
delete_status boolean [not null]
deleted_at timestamp [default: `now()`]
}
TablePartial email_index {
email varchar [unique]
indexes {
email [unique]
}
}
Table users {
~base_template
~email_index
name varchar
~soft_delete_template
}
Итоговая таблица:
Table users [headerColor: #ff0000] {
id int [pk, not null]
created_at timestamp [default: `now()`]
updated_at timestamp [default: `now()`]
email varchar [unique]
name varchar
delete_status boolean [not null]
deleted_at timestamp [default: `now()`]
indexes {
email [unique]
}
}
Разрешение конфликтов
Если несколько частей определяют один и тот же столбец, настройку или индекс, приоритет такой:
- определение в самой таблице (наивысший приоритет);
- часть, подключённая последней;
- более ранние части (наименьший приоритет).
Похожие инструменты
Обновлено: 27 сентября 2026 г.
