Справка Business Studio
Переход на сайт нейросети Perplexity AI для поиска информации о Business Studio. Подробнее о возможности см. по ссылке

Содержание справки



Развертывание базы данных

Перед тем как приступить к развертыванию базы данных, необходимо запустить контейнер PostgreSQL. Для этого выполните следующую команду на хост-машине:

sudo docker-compose up -d postgresql

Подготовка к выполнению скрипта

Скрипт deploy-db.sh автоматически восстанавливает базу из копии, назначает права и обновляет лицензии. Данный скрипт адаптирован под работу в Docker-контейнере и находится по пути: ./DockerCompose/Postgres/Initdb.

Для подготовки к запуску скрипта:

1. Разместите дамп: поместите файл базы в формате .pg в директорию ../Backup/. Файл базы можно взять из папки Backup десктопного клиента Business Studio 7. В данной папке хранятся пустые базы данных (префикс: «empty») и демонстрационные базы данных (префикс: «demo»).

Примечание: если вы хотите создать новую базу данных с нуля, пропустите данный шаг.

2. Перейдите к скрипту: откройте директорию ./DockerCompose/Postgres/Initdb.

3. Дайте права на запуск скрипта, выполнив команду:

chmod +x deploy-db.sh

4. Настройте параметры. Откройте скрипт на редактирование и заполните следующие поля:

  • CONTAINER — имя контейнера (postgresql).
  • DB_NAME — имя создаваемой или обновляемой базы.
  • BACKUP_DEFAULT — путь до файла базы.
  • NEW_USER и NEW_PASS — учетная запись, через которую приложение будет работать с базой.
  • LICENSE — IP-адрес машины, на которой была активирована лицензия (см. Настройка сервера лицензий).

5. Убедитесь, что параметры подключения, которые вы заполнили для файла скрипта, совпадают с теми, которые были указаны в appsettings.json (см. Настройка файла appsettings.json). Проверьте параметры: Db, SqlUser, SqlPass.

Запуск развертывания

1. Убедитесь, что контейнер PostgreSQL запущен при помощи команды:

docker ps | grep postgresql

2. Запустите процесс развертывания командой:

./deploy-db.sh --start

Внимание! Если вы хотите перезаписать базу данных (удалить существующую и создать на ее месте новую), добавьте к команде ключ --FORCE-DROP-EXISTING-DATABASE. Команда примет следующий вид: ./deploy-db.sh --start --FORCE-DROP-EXISTING-DATABASE

Скрипт выполняет следующие действия:

  1. Проверяет наличие файла базы данных и доступ к Docker-контейнеру. Если такая база данных уже существует — выполнение скрипта будет остановлено, чтобы предотвратить потерю данных.
  2. При запуске с флагом --FORCE-DROP-EXISTING-DATABASE скрипт принудительно завершает все активные сессии и пересоздаёт базу данных.
  3. Отображает индикатор прогресса восстановления базы данных в консоли.
  4. Восстанавливает структуру и данные базы.
  5. Автоматически создаёт необходимые роли и назначает пользователю права владельца на все таблицы, функции, процедуры и последовательности.
  6. Обновляет IP-адрес сервера лицензий в таблице public.pinger.
  7. Логирует все действия в отдельный файл.

Примечание: отчет о работе скрипта сохраняется автоматически в лог-файл deploy-db<имя_базы_данных>.log.

Часто встречающиеся проблемы и рекомендации к работе

Рекомендация №1: для корректной работы Business Studio все подключённые базы данных должны использовать один и тот же сервер лицензий (см. Настройка сервера лицензий).

Рекомендация №2: скрипт ./deploy-db.sh --start автоматически приводит имена баз и пользователей к нижнему регистру (строчные буквы). Это сделано для того, чтобы избежать ошибок авторизации в Linux и PostgreSQL. При настройке подключения в файле appsettings.json также рекомендуется использовать только нижний регистр.