Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Команда
Добавьте новое определение сущности в существующий файл конфигурации построителя данных. У вас уже должна быть конфигурация, созданная с dab initпомощью . Используется dab update для изменения сущностей после создания.
Подсказка
Используется dab add для создания новых сущностей и dab update их развития. Имя поля повторное сопоставление (--map) доступно только в update, а не в add.
Синтаксис
dab add <entity-name> [options]
Краткий обзор
| Вариант | Сводка |
|---|---|
<entity-name> |
Обязательный позиционный аргумент. Имя логической сущности. |
-c, --config |
Путь к файлу конфигурации.
dab-config.jsonпо умолчанию. |
--cache.enabled |
Включение и отключение кэширования для сущности. |
--cache.ttl |
Кэшируйте время в секундах. |
--description |
Описание свободной формы для сущности. |
--fields.exclude |
Разделенные запятыми поля. |
--fields.include |
Разрешенные поля с разделим запятыми (* = все). |
--graphql |
Экспозиция GraphQL: false, true, singularили singular:plural. |
--graphql.operation |
Хранимые процедуры только.
query или mutation (мутация по умолчанию). |
--permissions |
Обязательное. Одна или несколько role:actions пар. Повторяемые. |
--policy-database |
Фильтр стиля OData применяется в запросе базы данных. |
--policy-request |
Политика запроса, вычисляемая перед вызовом базы данных. |
--rest |
Экспозиция REST: false, trueили настраиваемый маршрут. |
--rest.methods |
Хранимые процедуры только. Разрешенные HTTP-команды. По умолчанию POST. |
-s, --source |
Обязательное. Имя объекта базы данных (таблица, представление или хранимая процедура). |
--source.key-fields |
Требуется для представлений или когда PK не выводится. Запрещено для procs. |
--source.params |
Хранимые процедуры только. Значения параметров по умолчанию. |
--source.type |
Тип источника: table, viewstored-procedure (таблица по умолчанию). |
<entity-name>
Логическое имя сущности в конфигурации. Учитывает регистр.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]
}
}
}
-c, --config
Путь к файлу конфигурации. По умолчанию — dab-config.json.
Example
dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"
--cache.enabled
Включение или отключение кэширования.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Кэшируйте время в секундах.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Описание сущности без текста.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Разделенный запятыми список полей, которые необходимо исключить.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
}
}
}
--fields.include
Разделенный запятыми список полей для предоставления.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"include": [ "id", "title", "price" ]
}
}
}
}
}
--graphql
Управление экспозицией GraphQL.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Хранимые процедуры только. Тип операции GraphQL. По умолчанию — mutation.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"graphql": {
"operation": "query"
}
}
}
}
--permissions
Определяет пары ролей→actions. Используйте повторяющиеся флаги для нескольких ролей.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] },
{ "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
]
}
}
}
--policy-database
Политика уровня базы данных.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Политика уровня запроса.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--rest
Управление экспозицией REST.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi
Результирующая конфигурация
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Хранимые процедуры только. Http-команды, разрешенные для выполнения. По умолчанию используется POST. Игнорируется для таблиц и представлений.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"rest": {
"path": "BookProc",
"methods": [ "GET", "POST" ]
}
}
}
}
-s, --source
Обязательное. Имя объекта базы данных: таблица, представление или хранимая процедура.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.key-fields
Обязательно для представлений. Также требуется для таблиц без вывода PK. Запрещено для хранимых процедур.
Example
dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"keyFields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.params
Хранимые процедуры только. Пары с разделим name:value запятыми. Запрещено для таблиц или представлений.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"
Результирующая конфигурация
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"params": {
"year": 2024,
"active": true
}
},
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
]
}
}
}
--source.type
Тип объекта базы данных. По умолчанию: table.
Example
dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"
Результирующая конфигурация
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}