Перенос базы из облака

Перенос базы

При первом запуске Бипиум создает в базе служебные данные: раздел «Система» и служебные каталоги. Если вместо пустой базы использовать базу с данными из облачной версии Бипиума, то Бипиум при первом запуске создаст служебные данные в ней. В ней будут и служебные данные для работы коробочной версии и пользовательские данные, созданные в облаке.

Чтобы получить копию базы из облака отправьте запрос на sales@bpium.ru, указав название домена. В ответ вы получите строку подключения к базе данных вашей компании.

Доступ в клонированную базы

Перед копированием базы данных из облака необходимо добавить в облачную базу служебного сотрудника, указав в качестве электронной почты «admin». Только этот сотрудник будет иметь доступ в коробочную версию после клонирования. Другие сотрудники облачной базы потеряют доступ.

После клонирования, других сотрудников нужно удалить и создать по новой. Если необходимо сохранить существующих сотрудников, то нужно создать в каталоге Система/Аккаунты записи с соответствующими адресами электронной почты сотрудников. И далее назначить сотрудникам пароли в каталоге Управление/Сотрудники. Либо можно в каталоге Сотрудники переименовать почту сотрудника на какую-либо другую (система создаст Аккаунт), и после этого вновь заменить на нужную почту (система создаст Аккаунт с нужной почтой).

Копирование базы данных

Далее сделайте бекап базы данных и разверните её копию в своей системе.

Например с помощью pg_dump:

pg_dump -h db.cloud.bpium.ru -U логин -d базаданных | psql -h вашхост -d базаданных -U postgres -f -

  • pg_dump— утилита для создания бекап-файла данных

  • -U— задает имя пользователя для подключения к базе данных

  • -d— имя базы данных

  • -h — адрес хоста

  • -f — задает путь и имя бекап-файла

https://postgrespro.ru/docs/postgresql/12/app-pgdump

Создание служебных каталогов для работы сервера Бипиум

Запустить bpium-setup.exe

Перенос файлов

Доступ к файлам, загруженным в облаке

Файлы, которые ранее были загружены в облаке будут недоступны, так как в базе хранятся относительные пути. Чтобы они стали доступны, нужно подменить пути в базе с относительных URL на абсолютные. Ранее загруженные файлы станут доступны, а файлы, которые будут добавляться позже, будут загружаться уже в локальное файловое хранилище с относительными путями.

Необходимо выполнить SQL скрипт на созданной базе. Можно использовать любую утилиту для работы с Postgre SQL: TablePlus, DBForge, EMS Postgre SQL manager, pgAdmin.

Скрипт для обновления URL файлов на абсолютные в облаке (требует Postgres SQL 9.6+):

UPDATE files

SET url = concat('https://bpium-userdata.s3-eu-west-1.amazonaws.com/',url),

"typeStorage"=’url’;

UPDATE files

SET metadata = jsonb_build_object(

'thumbnail',

concat('https://bpium-userdata.s3-eu-west-1.amazonaws.com/',metadata::json->>'thumbnail'),

'preview',

concat('https://bpium-userdata.s3-eu-west-1.amazonaws.com/',metadata::json->>'preview')

)

WHERE metadata is not NULL;

Копирование файлов в локальное файловое хранилище

Это возможно. Но сделать может только техническая поддержка Бипиума, так как нужны ключи для доступа в облачное файловое хранилище. Для копирования используется сервис flexify.io.

При переносе файлов в локальное файловое хранилище подменять пути к файла (6.2.1.) выполнять НЕ нужно.