/
DeployDacPac.ps1
31 lines (26 loc) · 1.25 KB
/
DeployDacPac.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$exe = '"' + 'C:\Program Files (x86)\Microsoft SQL Server\120\DAC\bin\SqlPackage.exe' + '"'
Write-Output ('$env:DBWorkingFolder: ' + $env:DBWorkingFolder)
Write-Output ('$env:DacPacFileName : ' + $env:DacPacFileName)
Write-Output ('$env:ConnectionString : ' + $env:ConnectionString)
$sf = "$env:DBWorkingFolder\$env:SYSTEM_HOSTTYPE\$env:DacPacFileName"
$op = "$env:DBWorkingFolder\Report.xml"
$cs =('"' + $env:ConnectionString + '"')
$action= "DeployReport"
$param = "/Action:$action /SourceFile:$sf /TargetConnectionString:$cs /OutputPath:$op"
Write-Output "Generate DeployReport"
Write-Output "Args: $param"
Write-Output ("$exe" + " " + $param)
Start-Process -FilePath "$exe" -ArgumentList $param -PassThru
$action= "Script"
$op = "$env:DBWorkingFolder\ChangeScript.sql"
$param = "/Action:$action /SourceFile:$sf /TargetConnectionString:$cs /OutputPath:$op"
Write-Output "Generate Change Script"
Write-Output "Args: $param"
Write-Output ("$exe" + " " + $param)
Start-Process -FilePath "$exe" -ArgumentList $param -PassThru
$action= "Publish"
$param = "/Action:$action /SourceFile:$sf /TargetConnectionString:$cs"
Write-Output "Publish Changes"
Write-Output "Args: $param"
Write-Output ("$exe" + " " + $param)
Start-Process -FilePath "$exe" -ArgumentList $param -PassThru