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

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





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

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

Если впоследствии требуется развернуть дополнительную базу данных — например, изначально была развернута демонстрационная база, а позже понадобилась ещё и пустая (empty_ru) — это можно сделать через скрипт bs_menu.sh (раздел «Обслуживание» → «Управление Базой Данных (deploy-db.sh)»), не переустанавливая систему заново. В этом разделе доступны пункты:

  • Редактировать deploy-db.sh — открывает файл скрипта в редакторе для ручной тонкой настройки параметров перед запуском.
  • Запустить deploy-db.sh - запускает скрипт с заданными параметрами.
  • Развернуть демонстрационную базу и Развернуть пустую базу — разворачивают соответствующую базу из комплекта поставки с параметрами из .env (пользователь, пароль, лицензионный сервер);
  • Развернуть обе базы — разворачивает демонстрационную и пустую базу последовательно;
  • Развернуть свою Базу Данных — интерактивный сценарий для развёртывания произвольной базы из своего файла бэкапа, с ручным вводом имени базы, пользователя, пароля и лицензионного сервера;

При выборе любого из пунктов развертывания скрипт bs_menu.sh сам выставляет права на запуск deploy-db.sh, подставляет нужные параметры и, если база с таким именем уже существует, запрашивает подтверждение на её пересоздание — вручную запускать контейнер PostgreSQL, выдавать права на файл или вводить команды deploy-db.sh –start не требуется.

При повторном запуске установки (переустановке) через bs_setup.sh также доступен выбор: перезаписать существующую базу данных (если она уже была развернута) либо развернуть другую базу вместо неё.

Если требуется более гибкая настройка — например, развернуть собственную базу данных с указанием произвольных параметров подключения, то можно воспользоваться пунктом Развернуть свою Базу Данных в том же разделе bs_menu.sh и Запустить deploy-db.sh либо отредактировать файл deploy-db.sh вручную, заполнив необходимые поля. Порядок действий для такого расширенного варианта развертывания описан ниже.

Внимание! При первоначальной установке через bs_setup.sh параметры подключения к базе данных (из комплекта поставки) автоматически записываются в файл appsettings.json. Однако если база данных разворачивается или пересоздаётся после установки через bs_menu.sh или ручной запуск deploy-db.sh, то эти изменения в appsettings.json автоматически не попадают. В таком случае необходимо самостоятельно проверить и при необходимости поправить параметры подключения в файле appsettings.json(см. Настройка файла appsettings.json), чтобы они совпадали с тем, что было указано при развертывании базы.

Подготовка файла бэкапа

Для развертывания базы данных (в том числе через bs_menu.sh) требуется файл дампа в формате .pg, размещённый в директории ./DockerCompose/Postgres/Backup/.

Файл базы данных можно взять из архива bs_dbs_<номер_версии_базы>.zip из комплекта поставки программы. В нем находятся как демонстрационные, так и пустые базы.

Примечание: также есть возможность продолжить работу с базами, которые вы использовали в прошлой версии программы (Business Studio 6). Для этого выполните конвертацию баз данных (см. Конвертация базы данных).

Базы данных можно хранить на текущем сервере либо перенести на другой, включая сервер с развернутым Docker-контейнером PostgreSQL. Для переноса скопируйте файлы и разместите их в папке ../Backup/.

При развертывании через пункты «Развернуть демонстрационную базу» / «Развернуть пустую базу» / «Развернуть обе базы» скрипт bs_menu.sh сам подбирает подходящий файл бэкапа из этой папки по имени (demo_ru.pg / empty_ru.pg). При развертывании через «Развернуть свою Базу Данных» нужный файл .pg выбирается интерактивно из списка либо указывается вручную полным путём.

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

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

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

Ручное развертывание (без bs_menu.sh)

При необходимости скрипт deploy-db.sh можно запустить и напрямую, минуя bs_menu.sh. Скрипт находится по пути ./DockerCompose/Postgres/Initdb и адаптирован под работу в Docker-контейнере.

Для этого:

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

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

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

./deploy-db.sh --start

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

Рекомендованная схема раздачи прав в Business Studio

Раздача прав осуществляется под пользователем с правами администратора сервера баз данных.

Для раздачи прав в Business Studio:

  1. Запустите десктопное приложение Business Studio (см. Десктопное приложение Business Studio) под пользователем с правами администратора сервера баз данных и выберите базу данных. При первом входе в базу данных пользователь автоматически получает группу вертикальных прав "Права администратора" и доступ к меню пользователя, так как по умолчанию включена автораздача прав (см. Автоматическая раздача прав).
  2. Настройте права на группы пользователей, соответствующие их должностям и ролям (группы Keycloak, Active Directory или другие, в зависимости от используемой системы авторизации):
  3. Отключите автоматическую раздачу прав.

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

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

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

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