Перед копированием файлов сервера выполняется обновление БД
This commit is contained in:
parent
fc4545c026
commit
31ee06efa8
@ -11,7 +11,7 @@
|
|||||||
param ([string]$version, [switch]$server, [switch]$pollservice, [switch]$force, [switch] $update)
|
param ([string]$version, [switch]$server, [switch]$pollservice, [switch]$force, [switch] $update)
|
||||||
|
|
||||||
Set-StrictMode -Version 1
|
Set-StrictMode -Version 1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
# Вспомогательные функции
|
# Вспомогательные функции
|
||||||
@ -218,10 +218,54 @@ New-Item -ItemType Directory -Path $configDir -Force
|
|||||||
if ($server)
|
if ($server)
|
||||||
{
|
{
|
||||||
wget $serverUrl -O Server.zip
|
wget $serverUrl -O Server.zip
|
||||||
|
|
||||||
|
if ($update)
|
||||||
|
{
|
||||||
|
Write-Host "Обновляется база данных..."
|
||||||
|
|
||||||
|
# В режиме обновления распакуем сервер во временную папку
|
||||||
|
# и попытаемся обновить БД. Если не вышло обновиться, завершаем работу.
|
||||||
|
$lersTempPath = [System.IO.Path]::GetTempPath()
|
||||||
|
$lersTempPath = Join-Path -Path $lersTempPath -ChildPath "lers"
|
||||||
|
|
||||||
|
if (Test-Path -LiteralPath $lersTempPath)
|
||||||
|
{
|
||||||
|
Remove-Item -Path $lersTempPath -Recurse -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
Expand-Archive -LiteralPath 'Server.zip' -DestinationPath $lersTempPath -Force
|
||||||
|
Remove-Item -Path 'Server.zip' -Force
|
||||||
|
|
||||||
|
# Обновляем существующую БД
|
||||||
|
dotnet "$lersTempPath/Server/Lers.Server.dll" cli db-update
|
||||||
|
|
||||||
|
if ($?)
|
||||||
|
{
|
||||||
|
# Перемещаем распакованные файлы в финальную папку.
|
||||||
|
# Предварительно очищаем сервер, чтобы убрать все ставшие ненужными сборки.
|
||||||
|
|
||||||
|
Remove-Item -Path "$lersDir/Server" -Recurse -Force
|
||||||
|
Remove-Item -Path "$lersDir/Database" -Recurse -Force
|
||||||
|
Remove-Item -Path "$lersDir/Server.Bootstrapper" -Recurse -Force
|
||||||
|
Remove-Item -Path "$lersDir/Updater" -Recurse -Force
|
||||||
|
|
||||||
|
Get-ChildItem -Path $lersTempPath | Move-Item -Destination $lersDir -Force
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-Error "Не удалось обновить базу данных. Обновление прекращено."
|
||||||
|
exit 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
Expand-Archive -LiteralPath 'Server.zip' -DestinationPath $lersDir -Force
|
Expand-Archive -LiteralPath 'Server.zip' -DestinationPath $lersDir -Force
|
||||||
Remove-Item -Path 'Server.zip' -Force
|
Remove-Item -Path 'Server.zip' -Force
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if ($pollservice)
|
if ($pollservice)
|
||||||
{
|
{
|
||||||
wget $pollServiceUrl -O PollService.zip
|
wget $pollServiceUrl -O PollService.zip
|
||||||
@ -275,14 +319,9 @@ chown -R $lersUser $dataDir
|
|||||||
chown -R $lersUser $configDir
|
chown -R $lersUser $configDir
|
||||||
|
|
||||||
|
|
||||||
if ($update)
|
if (-not $update)
|
||||||
{
|
{
|
||||||
# Обновляем существующую БД
|
# Создаём или службы systemd
|
||||||
dotnet $serverExecutable cli db-update
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
# Создаём службы systemd
|
|
||||||
|
|
||||||
if ($server)
|
if ($server)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user