auto-config команда

Создайте или обновите autoentities определение в существующем файле конфигурации построителя данных. Autoentities определите правила на основе шаблонов, которые автоматически предоставляют соответствующие объекты базы данных в качестве сущностей DAB при запуске.

См . раздел "Автоматическая настройка".

Синтаксис

dab auto-config <definition-name> [options]

Краткий обзор

Опция Сводка
-c, --config Путь к файлу конфигурации. dab-config.jsonпо умолчанию.

Раздел "Головка"

Опция Сводка
<definition-name> Обязательно. autoentities Имя определения для настройки.
--patterns.include Шаблоны T-SQL LIKE для включения объектов базы данных. По умолчанию: %.%.
--patterns.exclude Шаблоны T-SQL LIKE для исключения объектов базы данных. По умолчанию: null.
--patterns.name Синтаксис интерполяции для именования сущностей. По умолчанию: {schema}_{object}.
--permissions Разрешения в role:actions формате. По умолчанию: null.

Раздел шаблона

Опция Сводка
--template.rest.enabled Включение и отключение REST для сопоставленных сущностей. По умолчанию: true.
--template.graphql.enabled Включение и отключение GraphQL для сопоставленных сущностей. По умолчанию: true.
--template.mcp.dml-tools Включение и отключение средств языка обработки данных (DML) для сопоставленных сущностей. По умолчанию: true.
--template.health.enabled Включение и отключение проверок работоспособности для сопоставленных сущностей. По умолчанию: true.
--template.cache.enabled Включение и отключение кэширования для сопоставленных сущностей. По умолчанию: false.
--template.cache.ttl-seconds Кэшируйте время в секундах. По умолчанию: null.
--template.cache.level Уровень кэша. Допустимые значения: L1, L1L2. По умолчанию: L1L2.

<definition-name>

Обязательный позиционный аргумент. Логическое имя autoentities определения. Зависящий от регистра. Если определение уже существует, DAB обновляет его; в противном случае DAB создает его.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ]
      },
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}

-c, --config

Путь к файлу конфигурации. dab-config.json По умолчанию, если dab-config.<DAB_ENVIRONMENT>.json не существует, где DAB_ENVIRONMENT находится переменная среды.

Пример

dab auto-config my-def \
  --config ./dab-config.json \
  --patterns.include "dbo.%"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ]
      }
    }
  }
}

--patterns.include

Шаблоны T-SQL LIKE для включения объектов базы данных. Разделенный пробелами массив. Формат шаблона ( schema.object например, dbo.%). По умолчанию: %.%.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ]
      },
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}

--patterns.exclude

Шаблоны T-SQL LIKE для исключения объектов базы данных. Разделенный пробелами массив. После включения шаблонов вычисляются шаблоны исключения. По умолчанию: null.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --patterns.exclude "dbo.internal%" \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ],
        "exclude": [ "dbo.internal%" ]
      },
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}

--patterns.name

Синтаксис интерполяции для именования сущностей. Поддерживает {schema} и {object} заполнители. Должен быть уникальным для каждой созданной сущности. По умолчанию: {schema}_{object}.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --patterns.name "{schema}_{object}" \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ],
        "name": "{schema}_{object}"
      },
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}

--permissions

Разрешения для всех соответствующих сущностей в role:actions формате. По умолчанию: null.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}

--template.rest.enabled

Включите или отключите конечные точки REST для всех соответствующих сущностей. Допустимые значения: true, false. По умолчанию: true.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.rest.enabled true \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "rest": { "enabled": true }
      }
    }
  }
}

--template.graphql.enabled

Включите или отключите GraphQL для всех соответствующих сущностей. Допустимые значения: true, false. По умолчанию: true.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.graphql.enabled true \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "graphql": { "enabled": true }
      }
    }
  }
}

--template.mcp.dml-tools

Включите или отключите средства MCP DML для всех соответствующих сущностей. Допустимые значения: true, false. По умолчанию: true.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.mcp.dml-tools true \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "mcp": { "dml-tools": true }
      }
    }
  }
}

--template.health.enabled

Включение или отключение проверок работоспособности для всех соответствующих сущностей. Допустимые значения: true, false. По умолчанию: true.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.health.enabled true \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "health": { "enabled": true }
      }
    }
  }
}

--template.cache.enabled

Включение или отключение кэширования ответов для всех соответствующих сущностей. Допустимые значения: true, false. По умолчанию: false.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.cache.enabled true \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "cache": { "enabled": true }
      }
    }
  }
}

--template.cache.ttl-seconds

Кэшируйте время в секундах для всех соответствующих сущностей. По умолчанию: null.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.cache.enabled true \
  --template.cache.ttl-seconds 30 \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "cache": { 
          "enabled": true, 
          "ttl-seconds": 30 
        }
      }
    }
  }
}

--template.cache.level

Уровень кэша для всех соответствующих сущностей. Допустимые значения: L1, L1L2. По умолчанию: L1L2.

Пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --template.cache.enabled true \
  --template.cache.ttl-seconds 30 \
  --template.cache.level L1L2 \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "template": {
        "cache": { 
            "enabled": true, 
            "ttl-seconds": 30, 
            "level": "l1l2" 
        }
      }
    }
  }
}

Полный пример

dab auto-config my-def \
  --patterns.include "dbo.%" \
  --patterns.exclude "dbo.internal%" \
  --patterns.name "{schema}_{object}" \
  --template.rest.enabled true \
  --template.graphql.enabled true \
  --template.cache.enabled true \
  --template.cache.ttl-seconds 30 \
  --template.cache.level L1L2 \
  --permissions "anonymous:read"

Результирующая конфигурация

{
  "autoentities": {
    "my-def": {
      "patterns": {
        "include": [ "dbo.%" ],
        "exclude": [ "dbo.internal%" ],
        "name": "{schema}_{object}"
      },
      "template": {
        "rest": { "enabled": true },
        "graphql": { "enabled": true },
        "cache": { 
            "enabled": true, 
            "ttl-seconds": 30, 
            "level": "l1l2" 
        }
      },
      "permissions": [
        { 
          "role": "anonymous", 
          "actions": [ { "action": "read" } ] 
        }
      ]
    }
  }
}