Files
server/deploy/sync-from-server.ps1

42 lines
1.3 KiB
PowerShell

# Sync production CMS data to local admin (and optional api folder)
# Usage: .\deploy\sync-from-server.ps1
param(
[string]$Server = "root@45.94.215.38",
[string]$RemoteApiPath = "/var/www/studionoro/api",
[string]$ProjectRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
)
$ErrorActionPreference = "Stop"
$targets = @(
@{
Name = "admin"
DataDir = Join-Path $ProjectRoot "admin\data"
UploadsDir = Join-Path $ProjectRoot "admin\uploads"
},
@{
Name = "api"
DataDir = Join-Path $ProjectRoot "api\data"
UploadsDir = Join-Path $ProjectRoot "api\uploads"
}
)
Write-Host "==> Sync from $Server`:$RemoteApiPath" -ForegroundColor Cyan
Write-Host ""
foreach ($target in $targets) {
New-Item -ItemType Directory -Force -Path $target.DataDir | Out-Null
New-Item -ItemType Directory -Force -Path $target.UploadsDir | Out-Null
Write-Host "-> $($target.Name)/data/content.json" -ForegroundColor Yellow
scp "${Server}:${RemoteApiPath}/data/content.json" (Join-Path $target.DataDir "content.json")
Write-Host "-> $($target.Name)/uploads/" -ForegroundColor Yellow
scp -r "${Server}:${RemoteApiPath}/uploads/*" "$($target.UploadsDir)/"
}
Write-Host ""
Write-Host "Done. Restart local admin dev server if it is running:" -ForegroundColor Green
Write-Host " cd admin && npm run dev"