Создание и обновление баз данных¶
Базы данных модулей Продукта создаются и обновляются с помощью утилиты Database Migrator. Она входит в стандартную поставку Продукта.
Создание пользователя PostgreSQL¶
Модули Продукта должны подключаться к PostgreSQL, используя назначенную учетную запись пользователя PostgreSQL.
Примечание
Если планируется использовать PostgreSQL, установленный на другой машине, то учетную запись пользователя следует получить от администратора установленного экземпляра PostgreSQL.
Для создания учетной записи в терминале нужно начать сессию от имени встроенного пользователя postgres
, у которого есть права суперпользователя PostgreSQL:
sudo su - postgres
Теперь нужно создать пользователя для модулей Продукта. Этому пользователю нужно временно выдать права суперпользователя PostgreSQL. Они нужны для создания расширений в создаваемых базах данных. Позже права суперпользователя нужно отозвать.
Для создания пользователя нужно выполнить команду:
psql -c "CREATE USER xde WITH SUPERUSER PASSWORD '1234aA'"
где xde
- пример имени пользователя, а 1234aA
- пример пароля.
Далее нужно завершить сессию для postgres
, выполнив команду:
exit
Предупреждение
Примечание
Если это возможно, используйте более безопасный способ аутентификации, чем по логину и паролю. Перечень возможных вариантов, которые поддерживаются используемым в Продукте клиентом PostgreSQL, см. здесь.
Распаковка и настройка Database Migrator¶
Для распаковки утилиты Database Migrator нужно выполнить команду:
mkdir ~/Загрузки/TerraLink.xDEPro
unzip ~/Загрузки/TerraLink.xDEPro.DatabaseMigrator.3.2403.23131.1.zip -d ~/Загрузки/TerraLink.xDEPro
Примечание
Имя файла дистрибутива Database Migrator содержит версию Продукта. В примере использована версия 3.2403.23131.1.
Теперь нужно настроить подключение Database Migrator к PostgreSQL. Для этого требуется скопировать демонстрационный конфигурационный файл с шаблоном подключения к PostgreSQL в конфигурационный файл, который будет использоваться Database Migrator:
cp ~/Загрузки/TerraLink.xDEPro/DbMigrator/appsettings.PostgreSql.json.demo ~/Загрузки/TerraLink.xDEPro/DbMigrator/appsettings.json
Далее нужно открыть конфигурационный файл в текстовом редакторе:
nano ~/Загрузки/TerraLink.xDEPro/DbMigrator/appsettings.json
найти поле ConnectionString
и задать имя пользователя и пароль назначенной учетной записи:
{
"ProviderName": "Npgsql",
"ConnectionString": "User ID=xde;Password=1234aA;Host=localhost;Port=5432;Database=DOCFLOW_DB;MaxPoolSize=500"
}
Затем нужно сохранить файл (Ctrl+O
) и выйти из редактора (Ctrl+X
).
Примечание
Если планируется использовать PostgreSQL, установленный на другой машине, то в строке подключения нужно указать имя хоста (либо IP-адрес) и порт установленного экземпляра PostgreSQL.
Запуск Database Migrator¶
Запуск Database Migrator выполняется командой вида:
dotnet ~/Загрузки/TerraLink.xDEPro/DbMigrator/TerraLink.xDEPro.DbMigrator.Host.dll --source <источник данных миграции> --target <целевая база данных>
где:
<источник данных миграции>
- имя файла, который содержит сведения о структуре базы данных и ее изменениях от версии к версии;<целевая база данных>
- имя целевой базы данных на сервере баз данных.
Если источник данных не указан, то Database Migrator по умолчанию работает с базой данных интеграционного модуля Продукта.
Если базы данных с заданным именем не существует, то она будет создана.
Если база данных с заданным именем существует, то она будет обновлена до версии, которой соответствует дистрибутив Database Migrator.
Если имя базы данных не указано, то будет использовано имя по умолчанию - DOCFLOW_DB
.
База данных интеграционного модуля¶
Для создания или обновления базы данных интеграционного модуля нужно выполнить команду:
dotnet ~/Загрузки/TerraLink.xDEPro/DbMigrator/TerraLink.xDEPro.DbMigrator.Host.dll
База данных сервиса генерации печатных форм¶
Примечание
Можно пропустить этот раздел, если на машину не планируется устанавливать компоненты сервиса генерации печатных форм.
Для создания или обновления базы данных сервиса генерации печатных форм нужно выполнить команду:
dotnet ~/Загрузки/TerraLink.xDEPro/DbMigrator/TerraLink.xDEPro.DbMigrator.Host.dll --source DbMigrator.Migrations.Printforms --target PRINTFORMS_DB
База данных оператора внутрикорпоративного ЭДО¶
Примечание
Можно пропустить этот раздел, если на машину не планируется устанавливать компоненты оператора внутрикорпоративного ЭДО.
Для создания или обновления базы данных оператора внутрикорпоративного ЭДО нужно выполнить команду:
dotnet ~/Загрузки/TerraLink.xDEPro/DbMigrator/TerraLink.xDEPro.DbMigrator.Host.dll --source DbMigrator.Migrations.Cdf --target CDF_DB
Отзыв прав суперпользователя¶
После создания баз данных следует отозвать права суперпользователя PostgreSQL у назначенной учетной записи.
Для этого в терминале нужно начать сессию от имени встроенного пользователя postgres
:
sudo su - postgres
Затем нужно выполнить команду:
psql -c "ALTER USER xde NOSUPERUSER"
где xde
- пример имени пользователя.
Далее нужно завершить сессию для postgres
, выполнив команду:
exit