# 1F-dbDeploy

> ℹ️ 1F-dbDeploy — это вспомогательный сервис, выполняющий миграции базы данных перед запуском основного backend-сервиса 1F-CORE. Он читает SQL-скрипты миграций из директории, указанной в конфигурации, и применяет их к целевой базе данных (MS SQL Server или PostgreSQL).

## Запуск в Docker Compose

[Ссылка на инструкцию](https://help.1forma.ru/maintenance_guide/installation/application/docker_compose.md)

## Запуск в K8s

[Ссылка на инструкцию](https://help.1forma.ru/maintenance_guide/installation/application/kubernetes/kubernetes.md)

## Конфигурация

Сервис использует конфигурационный шаблон dbdeploy.config в формате XML, который заполняется значениями переменных окружения либо указывается вручную.

## Передача переменных окружения через файл

Любая переменная окружения для 1f-dbdeploy может быть передана через файл:

1\. Создайте файл с нужным значением.

2\. Примонтируйте его в контейнер через volume.

3\. Установите переменную окружения с суффиксом \_FILE и значением — путь к файлу.

4\. При старте контейнера сервис прочитает содержимое файла и присвоит его соответствующей переменной.

## Описание переменных окружения

| Имя переменной | Описание | Тип/Значения | Значение по умолчанию |
| --- | --- | --- | --- |
| DBDEPLOY\_DB\_TYPE | Тип базы данных, для которой будут выполняться миграции | mssql / postgresql | nil |
| DBDEPLOY\_DB\_SERVER | Адрес или имя сервера базы данных | string | nil |
| DBDEPLOY\_DB\_PORT | Порт для подключения к базе данных (актуально для PostgreSQL) | int | 5432 |
| DBDEPLOY\_DB\_NAME | Имя базы данных | string | d10task |
| DBDEPLOY\_DB\_USER | Имя пользователя базы данных, от имени которого выполняются миграции. Для MSSQL — d10taskuser, для PostgreSQL — migrationsdaemon | string | mssql/d10taskuser; postgresql/migrationsdaemon |
| DBDEPLOY\_DB\_PASSWORD | Пароль пользователя базы данных для миграций | string | nil |
| DBDEPLOY\_COMMAND\_TIMEOUT | Таймаут выполнения SQLкоманды в секундах (увеличьте при больших миграциях) | int (sec) | 1200 |
