Перенос базы из облака
При первом запуске Бипиум создает в базе служебные данные: раздел «Система» и служебные каталоги. Если вместо пустой базы использовать базу с данными из облачной версии Бипиума, то Бипиум при первом запуске создаст служебные данные в ней. В ней будут и служебные данные для работы коробочной версии и пользовательские данные, созданные в облаке.
Нужна пустая база. Перенести данные из облачной базы можно только в пустую базу данных. Перенос в уже созданную Бипиумом базу данных невозможен.
Получите базу данных. Чтобы получить копию базы из облака отправьте запрос на [email protected], указав название домена. В ответ вы получите строку подключения к базе данных вашей компании. С помощью неё вы сможете скопировать базу данных.
Перед копированием базы данных из облака необходимо добавить в облачную базу служебного сотрудника, указав в качестве электронной почты «
admin
». Только этот сотрудник будет иметь доступ в серверную версию после клонирования. Другие сотрудники облачной базы потеряют доступ.Восстановление доступа сотрудников
После клонирования, других сотрудников нужно удалить и создать по новой. Есть 2 варианта как восстановить им доступ:
- Можно создать в каталоге Система/Аккаунты записи с соответствующими адресами электронной почты сотрудников. И далее назначить сотрудникам пароли в каталоге Управление/Сотрудники.
- Можно в каталоге Сотрудники переименовать почту сотрудника на какую-либо другую (система создаст Аккаунт), и после этого вновь заменить на нужную почту (система создаст Аккаунт с нужной почтой).
Перед копирование базы данных, ее нужно создать. Это можно сделать через командную строку, инструменты работы с базой данных или SQL-скрипт:
CREATE DATABASE "ИМЯ_БД";
Т аблицы в дампе базы данных будут принадлежать пользователю облачного Бипиум. Чтобы развернуть базу локально, проще всего создать одноименного пользователя на локальном сервере базы данных. Пример SQL-скрипта:
CREATE USER "ЛОГИН" WITH PASSWORD 'ПАРОЛЬ';
REVOKE ALL ON DATABASE "ИМЯ_БД" FROM PUBLIC;
GRANT CONNECT ON DATABASE "ИМЯ_БД" TO "ЛОГИН";
GRANT ALL ON DATABASE "ИМЯ_БД" TO "ЛОГИН";
Имя пользователя вашей базы данных мы предоставим.
Сделайте бекап базы данных из облака. Важно, чтобы версии БД в облаке и на вашем сервере совпадали. На текущий момент в облаке используется 11 версия PostgreSQL.
Бекап базы данных можно сделать командой
pg_dump
, которая входит в пакет PostgreSQL.pg_dump -h db.cloud.bpium.ru -d "ИМЯ_БД" -U ЛОГИН -W -Ft -b -E UTF8 -v -f "ИМЯ_ФАЙЛА"
pg_dump
— утилита для создания бекап-файла данных-h
— адрес хоста-d
— имя базы данных-U
— задает имя пользователя для подключения к базе данных-W
— запрашивать ввод пароля-Е
— кодировку (необходимо использовать UTF8)-f
— задает путь и имя бекап-файла
Развернуть базу данных можно командой
pg_restore
, которая входит в пакет PostgreSQL.pg_restore -h ВАШ_СЕРВЕР -d "ИМЯ_БД" -U ЛОГИН -W -v "ИМЯ_ФАЙЛА"
pg_restorep
— утилита для разворачивания бекап-файла-h
— адрес хоста-d
— имя базы данных-U
— задает имя пользователя для подключения к базе данных-W
— запрашивать ввод пароля
Чтобы серверная версия Бипиума использовала скопированную из облака базу данных, в ней нужно развернуть служебные данные для работы серверной версии. Для этого нужно в конфигурационном файле указать строку подключения к вашей локальной базе данных и запустить
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://storage.yandexcloud.net/bpium-userdata/',url),
"typeStorage"=’url’;
UPDATE files
SET metadata = jsonb_build_object(
'thumbnail',
concat('https://storage.yandexcloud.net/bpium-userdata/',metadata::json->>'thumbnail'),
'preview',
concat('https://storage.yandexcloud.net/bpium-userdata/',metadata::json->>'preview')
)
WHERE metadata is not NULL;
Это возможно. Но сделать может только техническая поддержка Бипиума, так как нужны ключи для доступа в облачное файловое хранилище. Для копирования используется сервис flexify.io.
При переносе файлов в локальное хранилище подменять пути к файлам НЕ нужно.
Last modified 1mo ago