55 lines
2.2 KiB
PowerShell
55 lines
2.2 KiB
PowerShell
# publish-with-sql.ps1
|
|
# Publishes Jellyfin and ensures SQL files are included
|
|
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "Publishing Jellyfin with SQL files" -ForegroundColor Cyan
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
Write-Host "Step 1: Publishing Jellyfin..." -ForegroundColor Yellow
|
|
dotnet publish Jellyfin.Server\Jellyfin.Server.csproj -c Release -o Jellyfin.Server\bin\Release\net11.0\publish
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ Publish failed" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "✓ Publish successful" -ForegroundColor Green
|
|
Write-Host ""
|
|
|
|
Write-Host "Step 2: Copying SQL files..." -ForegroundColor Yellow
|
|
|
|
$publishDir = "Jellyfin.Server\bin\Release\net11.0\publish"
|
|
|
|
# Create sql directory structure
|
|
New-Item -ItemType Directory -Path "$publishDir\sql" -Force | Out-Null
|
|
New-Item -ItemType Directory -Path "$publishDir\sql\schema_init" -Force | Out-Null
|
|
|
|
# Copy SQL files
|
|
try {
|
|
Copy-Item "Jellyfin.Server\sql\*.sql" "$publishDir\sql\" -Force -ErrorAction Stop
|
|
$mainFileCount = (Get-ChildItem "$publishDir\sql\*.sql").Count
|
|
Write-Host " ✓ Copied $mainFileCount main SQL files" -ForegroundColor Green
|
|
|
|
Copy-Item "Jellyfin.Server\sql\schema_init\*.sql" "$publishDir\sql\schema_init\" -Force -ErrorAction SilentlyContinue
|
|
$initFileCount = (Get-ChildItem "$publishDir\sql\schema_init\*.sql" -ErrorAction SilentlyContinue).Count
|
|
Write-Host " ✓ Copied $initFileCount schema_init SQL files" -ForegroundColor Green
|
|
} catch {
|
|
Write-Host "❌ Failed to copy SQL files: $_" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host "✓ Publish Complete!" -ForegroundColor Green
|
|
Write-Host "========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
Write-Host "Output directory: $publishDir" -ForegroundColor Yellow
|
|
Write-Host ""
|
|
Write-Host "SQL files:" -ForegroundColor Yellow
|
|
Get-ChildItem "$publishDir\sql" -Recurse -File | ForEach-Object {
|
|
Write-Host " - $($_.FullName.Replace($PWD.Path + '\', ''))" -ForegroundColor Gray
|
|
}
|
|
Write-Host ""
|
|
Write-Host "Next: Run jellyfin.exe from the publish directory" -ForegroundColor Cyan
|